botocore

The low-level, foundational Python SDK that underpins both boto3 and the AWS CLI

SDK
PyPI
v1.43.74
1,637stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
82/100Excellent
Development Activity100
Maintenance52
Community88
Maturity60
Momentum28

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
79/100Good
Architecture90
Code Quality88
Innovation75
Learning Curve62

botocore is Amazon Web Services’ low-level Python interface to virtually every AWS service. Rather than hand-writing a client for each service, botocore generates clients from JSON service models, giving it broad and immediately up-to-date coverage as AWS ships new APIs and services.

It is not typically used directly by application developers; instead it is the shared foundation that boto3 (the higher-level, resource-oriented SDK) and the official AWS CLI are both built on. Anyone building session handling, credential resolution, request signing, or a custom AWS tool at a lower level than boto3 provides depends on botocore directly.

What You Get

  • A botocore.session.get_session() entry point that creates low-level clients for any AWS service (session.create_client('ec2'), etc.)
  • Automatic credential resolution across environment variables, shared config/credentials files, IAM roles, and SSO
  • AWS Signature Version 4 request signing and endpoint resolution handled transparently per service/region
  • Service clients generated from bundled JSON API models, so new AWS services and operations become available as botocore is updated rather than requiring hand-written bindings
  • Optional awscrt-backed extras for CRT-accelerated signing/checksums on performance-sensitive workloads

Common Use Cases

  • Serving as the dependency that boto3 and the AWS CLI use internally for every AWS API call
  • Building a custom, lightweight AWS tool that needs direct client/session control without boto3’s resource abstractions
  • Implementing custom credential providers or request signing/middleware hooks for AWS API calls via botocore’s event system
  • Powering third-party libraries (e.g. cloud storage adapters, infrastructure tools) that need AWS API access without the full boto3 surface

Under The Hood

Architecture: The core loop runs through session.py (Session/credential/config orchestration), client.py (dynamic per-service client class generation from model data), model.py (parses the JSON service models under data/ into a queryable ServiceModel/OperationModel structure), endpoint.py/endpoint_provider.py (region/partition endpoint resolution), auth.py (SigV4/SigV4A request signing), and hooks.py (the pluggable event system other AWS Python tools, including boto3, hook into to customize behavior). Tech Stack: Pure Python with a small dependency set (jmespath for response filtering, python-dateutil, urllib3), plus an optional crt extra pulling in awscrt for native-accelerated signing/checksums; the data/ directory bundles versioned JSON service models for every supported AWS service. Code Quality: Ruff-linted with a strict 79-char line length (Black-compatible), a pytest suite with dedicated slow and validates_models markers (the latter validating the bundled service models themselves), and a well-documented CONTRIBUTING process reflecting Amazon’s ownership and formal SDK maintenance policy. API Design: The session.create_client('service-name') pattern is uniform across all ~300+ AWS services since clients are generated from the same model schema, but the API is intentionally low-level (raw dict request/response shapes, manual pagination in some cases) — developers wanting resource objects, higher-level abstractions, or waiters typically reach for boto3 instead, which layers those on top of botocore’s client objects.

Used by 14 apps in this directory

Python
90%
Apache 2.0

Apache Airflow

Data Engineering

46,530

Define, schedule, and monitor complex data workflows as Python code — with a powerful UI, 80+ provider integrations, and battle-tested scalability across thousands of production deployments.

View details
96
Repo Health
89
Technical
66
Dependency
Built with
Python90%
Updated today
C++
69%
Apache 2.0

ClickHouse

Databases · Analytics · Data Engineering

49,325

Open-source column-oriented database that delivers real-time analytical queries on petabyte-scale data with millisecond latency.

View details
95
Repo Health
90
Technical
68
Dependency
Built with
C++69%
Python13%
Updated today
Go
84%
MIT

Hatchet

AI Development · Developer Tools · Automation

7,749

A Postgres-backed orchestration engine for background tasks, AI agents, and durable workflows that replaces Redis queues and multi-datastore durable execution platforms with a single self-hostable service.

View details
88
Repo Health
83
Technical
69
Dependency
Built with
Go84%
PLpgSQL11%
Updated today
Python
80%
Apache 2.0

headroom

AI Development · Developer Tools

66,835

Compress everything your AI agent reads — tool outputs, logs, RAG chunks, and files — before it reaches the LLM, achieving 60–95% fewer tokens with the same answers.

View details
84
Repo Health
86
Technical
73
Dependency
Built with
Python80%
Rust14%
Updated today
Python
83%
Apache 2.0

knowhere

AI Development · Developer Tools

2,515

Transform messy, unstructured documents into persistent, navigable memory that AI agents can actually use.

View details
83
Repo Health
75
Technical
70
Dependency
Built with
Python83%
HTML16%
Updated today
TypeScript
38%
Apache 2.0

Label Studio

AI Development · Data Engineering

28,083

Label Studio is an open-source, multi-type data labeling platform that lets teams annotate images, text, audio, video, and time series data with a configurable XML-based UI and export annotations in formats ready for any ML framework.

View details
93
Repo Health
87
Technical
68
Dependency
Built with
TypeScript38%
JavaScript27%
Python25%
Updated today
Rust
36%
Apache 2.0

LanceDB

Databases · AI Development

11,190

Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).

View details
90
Repo Health
86
Technical
72
Dependency
Built with
Rust36%
HTML30%
Python26%
Updated today
Python
51%
AGPL 3.0

LearnHouse

Learning Management · CMS

2,178

Open-source LMS with AI tutoring, real-time collaboration boards, live code execution, and built-in course monetization — self-hosted in minutes.

View details
89
Repo Health
77
Technical
67
Dependency
Built with
Python51%
TypeScript48%
Updated 3 days ago
Python
58%
Apache 2.0

MLflow

AI Development · Monitoring

27,573

The open source AI engineering platform for debugging, evaluating, monitoring, and optimizing production LLMs and agents at scale.

View details
97
Repo Health
86
Technical
68
Dependency
Built with
Python58%
TypeScript33%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search