skillfed

adafruit-circuitpython-typing

Types needed for type annotation that are not in `typing`

adafruit-circuitpython-typing v1.12.3 160.3K downloads/30d#10,667 on PyPI7
Permissive license MIT Active released

What it is and what it does

This package supplies type annotation definitions needed for CircuitPython development that do not exist in Python's standard typing module. It is designed to support developers writing type-annotated CircuitPython code on host machines, particularly when using tools like Adafruit-Blinka for testing and development. The package depends on Adafruit-Blinka, adafruit-circuitpython-busdevice, adafruit-circuitpython-requests, and typing_extensions to provide a complete typing environment.

The library is explicitly not required at runtime for CircuitPython code execution and does not need to be included in CircuitPython bundles deployed to microcontroller boards. It serves as a development-time dependency for developers using type checkers and IDEs to validate their CircuitPython projects before deployment.

Use it for:

  • Type-checking CircuitPython projects on a development machine using mypy or similar tools
  • Providing IDE autocomplete and type hints when writing CircuitPython code in an editor
  • Validating type annotations in CircuitPython libraries before publishing to the ecosystem
  • Supporting Adafruit hardware projects that use Blinka for cross-platform compatibility

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides type annotation definitions for CircuitPython code that extend the standard typing module with additional types not available in the base library.

Yes, if you are developing CircuitPython code and want type-checking support on your development machine. Install it as a development dependency (not in your CircuitPython bundle). The package is actively maintained, has no known vulnerabilities, and carries a permissive MIT license. Low install friction and clear scope make it a straightforward addition to a CircuitPython development workflow.

Install

adafruit-circuitpython-typing on PyPI

pip

pip install adafruit-circuitpython-typing

uv

uv add adafruit-circuitpython-typing

poetry

poetry add adafruit-circuitpython-typing

Installing adafruit-circuitpython-typing

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance with last commit on 2026-04-23 and a recent release on 2025-10-27, indicating ongoing support for the CircuitPython ecosystem.

License in practice

MIT license is permissive, allowing use in both open-source and proprietary projects with minimal restrictions.

Quickstart

pip install adafruit-circuitpython-typing

import adafruit_circuitpython_typing
# Use type annotations from the module in your CircuitPython code

Requires Python 3.8 or later; intended primarily for type-checking CircuitPython projects rather than runtime use on microcontroller boards.

Verify before relying

  • What specific type definitions this package adds beyond the standard typing module
  • Whether this is meant for development/type-checking only or also for runtime on CircuitPython boards

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 4 — Adafruit-Blinka, adafruit-circuitpython-busdevice, adafruit-circuitpython-requests, typing_extensions
Maintenance actively maintained — 291 days since the last release
Last repo commit
First released
Downloads 160,291/month — #10,667 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: adafruit_circuitpython_typing-1.12.3-py3-none-any.whl

Keywords: adafruit, blinka, circuitpython, micropython, circuitpython_typing

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Topic :: Software Development :: Embedded SystemsTopic :: Software Development :: LibrariesTopic :: System :: Hardware

Tags

circuitpython type annotationstyping definitions circuitpythonadafruit blinka typingmicropython type hintsembedded systems type stubs
circuitpythontype-hintsembedded-dev

More Libraries packages

urllib3

urllib3 is an HTTP client library that provides…

permissive · top 100 on PyPI

requests

Requests is a Python HTTP library that…

permissive · top 100 on PyPI

pluggy

Pluggy provides a plugin system that lets you…

permissive · top 100 on PyPI

python-dateutil

Provides parsing, arithmetic, and recurrence…

permissive · top 100 on PyPI

six

Six provides utility functions to write Python…

permissive · top 100 on PyPI

pytest

pytest is a testing framework that lets you…

permissive · top 100 on PyPI

adafruit-circuitpython-requests

A requests-like HTTP library for CircuitPython…

permissive · top 15,000 on PyPI

adafruit-circuitpython-busdevice

Provides I2CDevice and SPIDevice helper classes…

permissive · top 15,000 on PyPI

adafruit-circuitpython-connectionmanager

Manages sockets and connections for…

permissive · top 15,000 on PyPI

Adafruit-Blinka

Adafruit-Blinka emulates CircuitPython APIs on…

permissive · top 15,000 on PyPI

Adafruit-PlatformDetect

Detects the chip and board type of single-board…

permissive · top 15,000 on PyPI

gpiozero

gpiozero provides a high-level Python interface…

permissive · top 15,000 on PyPI

akracer

AKRacer provides precompiled dynamic libraries…

permissive · top 5,000 on PyPI

Adafruit-PureIO

Provides pure Python access to Linux I2C and…

permissive · top 15,000 on PyPI

autotyping

Automatically infers and adds type annotations…

permissive · top 15,000 on PyPI

RPi.GPIO

RPi.GPIO provides Python control over Raspberry…

permissive · top 15,000 on PyPI