5 of 11 files were uploaded without provenance metadata. View details.
Tiny Thermal Camera Python Bindings
Cross-platform Python bindings for the AC010_256 thermal camera SDK, supporting P2/Tiny1C thermal cameras on Windows, Linux (x86, ARM, MIPS), and macOS.
Features
- Cross-Platform Support: Windows, Linux (x86, ARM, MIPS), and macOS
- Camera Control: Open/close camera, start/stop streaming
- Temperature Measurement: Point, line, and area temperature analysis
- Real-time Data: Get temperature and image frames as NumPy arrays
- Easy Integration: Simple Python API with context manager support
- Self-Contained: Automatic DLL/library management - no manual setup required
- Architecture Support: Multiple ARM and MIPS variants for embedded systems
- Comprehensive Examples: Demo scripts and utilities included
Installation
Simple Installation (Recommended)
# Install pre-compiled wheel from PyPI
pip install tiny-thermal-camera
Pre-compiled wheels available for:
- Windows: Python 3.8-3.12 (x64) - No build tools required!
- Linux: Python 3.8-3.12 (x86_64, aarch64)
Benefits:
- No C++ compiler or build tools needed
- Instant installation
- All libraries bundled automatically
- Works out of the box
Alternative: Install from Source
# Install from source (requires build tools)
pip install .
Note: Building from source requires:
- Windows: Microsoft Visual C++ Build Tools - See WINDOWS_INSTALL.md
- Linux: GCC, Python development headers
After installation, the package automatically:
- Detects your platform (Windows/Linux/macOS) and architecture (x86/ARM/MIPS)
- Includes all necessary libraries and DLLs
- Sets up runtime library loading
- No manual library management required!
Platform-Specific Notes
Windows
- Pre-compiled wheels available - no build tools needed!
- All required DLLs are automatically included and loaded
- No additional Visual C++ Redistributable installation needed
- For build-from-source instructions, see WINDOWS_INSTALL.md
Linux
- Static library linking used by default (no runtime dependencies)
- Supports x86, ARM (various variants), and MIPS architectures
- Cross-compilation supported via environment variables
Cross-Compilation (Advanced)
# Example: Cross-compile for ARM
export CROSS_COMPILE=arm-linux-gnueabihf
export TARGET_ARCH=arm
pip install .
Development Installation
# Development install with editable mode
pip install -e .
# Build in-place for development
python setup.py build_ext --inplace
Usage
Quick Start
import tiny_thermal_camera
# Context manager automatically handles initialization, open, and cleanup
with tiny_thermal_camera.ThermalCamera() as camera:
# Start streaming (waits 5s for P2 series stabilization)
if camera.start_streaming():
# Capture a frame
temp_frame, image_frame = camera.capture_frame()
if temp_frame is not None:
# Get temperature statistics
stats = camera.get_temperature_stats(temp_frame)
print(f"Temperature range: {stats['min']:.1f}°C - {stats['max']:.1f}°C")
# Find hottest point
hot_pos, hot_temp = camera.find_hotspot(temp_frame)
print(f"Hotspot: {hot_temp:.1f}°C at position {hot_pos}")
Advanced Usage (Manual Resource Management)
import tiny_thermal_camera
import numpy as np
# Direct API access with manual resource management
camera = tiny_thermal_camera.ThermalCamera()
# Note: TemperatureProcessor is a static class, don't instantiate
try:
# Manual initialization and open
camera.initialize()
if camera.open():
camera.start_stream()
# Get camera info
width, height, fps = camera.get_camera_info()
# Get raw temperature frame
temp_frame = camera.get_raw_frame()
# Point temperature
success, temp = tiny_thermal_camera.TemperatureProcessor.get_point_temp(temp_frame, 128, 96)
if success:
print(f"Temperature at center: {temp:.1f}°C")
# Area temperature
success, max_t, min_t, avg_t = tiny_thermal_camera.TemperatureProcessor.get_rect_temp(
temp_frame, 100, 80, 50, 50)
if success:
print(f"Area stats - Max: {max_t:.1f}°C, Min: {min_t:.1f}°C, Avg: {avg_t:.1f}°C")
finally:
# Manual cleanup
camera.close()
Demo Scripts
Interactive Demo
python3 thermal_camera_demo.py
Features:
- Camera initialization and streaming
- Single frame capture and analysis
- Temperature visualization with matplotlib/OpenCV
- Continuous monitoring mode
- Point, line, and area temperature measurement
Simple Tests
# Basic functionality test
python3 test_simple.py
# Continuous monitoring
python3 test_continuous.py
# Context manager test
python3 test.py
# Context manager persistence test
python3 test_context_persistence.py
API Reference
tiny_thermal_camera.ThermalCamera Class
Context Manager Support
import tiny_thermal_camera
# Context manager handles initialization and opening
with tiny_thermal_camera.ThermalCamera() as camera:
# Camera is initialized and opened
camera.start_streaming() # User controls streaming
# Camera and stream remain active after context manager exits!
# This allows for continuous monitoring beyond the 'with' block
temp_frame, _ = camera.capture_frame() # Still works!
# User explicitly controls cleanup when ready
camera.stop_stream()
camera.close()
Core Methods
initialize()- Initialize camera systemopen(vid=0x0BDA, pid=0x5840)- Open the thermal cameraclose()- Close the camerastart_stream(enable_temperature_mode=True, wait_seconds=5)- Start streaming with temperature modestart_streaming(enable_temperature_mode=True, wait_seconds=5)- Alias for start_streamstop_stream()- Stop streamingget_camera_info()- Get (width, height, fps)get_raw_frame()- Get raw temperature data as uint16 numpy arrayget_device_list()- Get available USB devicesis_open()- Check if camera is openis_streaming()- Check if streaming
Convenience Methods
capture_frame()- Get (temp_frame, image_frame) tupleget_temperature_stats(temp_frame)- Get comprehensive statistics dictfind_hotspot(temp_frame)- Find hottest point and temperature
tiny_thermal_camera.TemperatureProcessor Class
Static Methods
tiny_thermal_camera.temp_to_celsius(raw_value)- Convert raw temperature to CelsiusTemperatureProcessor.get_point_temp(frame, x, y)- Get temperature at pointTemperatureProcessor.get_rect_temp(frame, x, y, w, h)- Get area temperature statsTemperatureProcessor.get_line_temp(frame, x1, y1, x2, y2)- Get line temperature stats
Usage Examples
Simple Temperature Reading
import tiny_thermal_camera
with tiny_thermal_camera.ThermalCamera() as camera:
if camera.start_streaming():
temp_frame, _ = camera.capture_frame()
if temp_frame is not None:
stats = camera.get_temperature_stats(temp_frame)
print(f"Average temperature: {stats['mean']:.1f}°C")
Finding Hot and Cold Spots
import tiny_thermal_camera
with tiny_thermal_camera.ThermalCamera() as camera:
if camera.start_streaming():
temp_frame, _ = camera.capture_frame()
if temp_frame is not None:
hot_pos, hot_temp = camera.find_hotspot(temp_frame)
print(f"Hottest point: {hot_temp:.1f}°C at {hot_pos}")
Continuous Temperature Monitoring
import tiny_thermal_camera
import time
# Initialize camera with context manager
with tiny_thermal_camera.ThermalCamera() as camera:
camera.start_streaming()
# Stream persists beyond context manager - continuous monitoring
print("Starting continuous temperature monitoring...")
print("Press Ctrl+C to stop")
try:
frame_count = 0
while True:
temp_frame, _ = camera.capture_frame()
if temp_frame is not None:
frame_count += 1
# Get temperature statistics
stats = camera.get_temperature_stats(temp_frame)
hot_pos, hot_temp = camera.find_hotspot(temp_frame)
# Print status every 10 frames
if frame_count % 10 == 0:
print(f"Frame {frame_count}: "
f"Avg: {stats['mean']:.1f}°C, "
f"Range: {stats['min']:.1f}-{stats['max']:.1f}°C, "
f"Hotspot: {hot_temp:.1f}°C at {hot_pos}")
time.sleep(0.1) # ~10 FPS
except KeyboardInterrupt:
print("\nStopping monitoring...")
finally:
# Clean up when done
camera.stop_stream()
camera.close()
print("Cleanup completed.")
Troubleshooting
Installation Issues
Import Errors
# Test basic import
python -c "import tiny_thermal_camera; print('SUCCESS: Package installed correctly')"
# If import fails, try reinstalling
pip uninstall tiny-thermal-camera
pip install tiny-thermal-camera --force-reinstall
Windows DLL Issues
- All required DLLs are automatically included
- If you see "DLL load failed", ensure you're importing the installed package:
# This should work from any directory
import tiny_thermal_camera
Camera Issues
Camera Not Detected
# Check for connected devices
import tiny_thermal_camera
camera = tiny_thermal_camera.ThermalCamera()
success, devices = camera.get_device_list()
print(f'Found {len(devices)} devices: {devices}')
Linux USB Permissions
# Check USB connection and device presence
lsusb | grep 0bda:5840
# Fix USB permissions if needed
sudo chmod 666 /dev/bus/usb/*/*
Windows Device Access
- Ensure camera drivers are installed
- Check Device Manager for USB devices
- Try different USB ports
Build Issues (Development)
Missing Dependencies
# Linux: Install build tools
sudo apt install build-essential python3-dev pkg-config
# Install from source
pip install . --verbose # Shows detailed build output
Clean Rebuild
# Clean previous builds
python setup.py clean --all
pip install . --force-reinstall
Runtime Issues
# Test basic functionality
import tiny_thermal_camera
with tiny_thermal_camera.ThermalCamera() as camera:
if camera.start_streaming():
temp_frame, _ = camera.capture_frame()
if temp_frame is not None:
print("Camera working correctly!")
else:
print("Failed to capture frame")
else:
print("Failed to start streaming")
Hardware Requirements
- Compatible Cameras: P2 series, Tiny1C, AC010_256
- Connection: USB interface (VID: 0x0BDA, PID: 0x5840)
- Operating Systems:
- Windows (32-bit and 64-bit)
- Linux (x86, ARM, MIPS architectures)
- macOS (basic support)
- Dependencies: All libraries automatically included - no manual installation
- Permissions: USB device access required
Notes for P2 Series Cameras
- Default resolution: 256×192 pixels
- Temperature data requires
y16_preview_startcommand (handled automatically) - 5-second stabilization wait recommended after starting stream
- Temperature mode is enabled automatically when using
start_stream() - All thermal camera libraries are automatically managed - no runtime dependency issues
Package Information
- Package Name:
tiny-thermal-camera - Module Name:
tiny_thermal_camera - Version: 1.0.0
- Build System: Cross-platform setuptools with pybind11
- Context Manager: Built-in (no separate wrapper needed)
- Library Management: Automatic DLL/library loading for all platforms
- Architectures Supported:
- Windows: x86, x64
- Linux: x86, ARM (multiple variants), MIPS
- Cross-compilation: Full toolchain support
Supported Linux Architectures
- x86: Standard Intel/AMD processors
- ARM 64-bit: aarch64-linux-gnu, aarch64-none-linux-gnu
- ARM 32-bit: arm-linux-gnueabi, arm-linux-gnueabihf
- Embedded ARM: arm-himix100-linux, arm-himix200-linux, arm-hisiv300/500-linux
- MIPS: mips-linux-gnu (limited library support)
- Custom: Support for buildroot and musl toolchains
Building Wheels & Releasing
For Maintainers
Quick local wheel build:
# Windows
build_wheel.bat
# Linux
./build_wheel.sh
Automated release process via GitHub Actions:
- Update version in
pyproject.toml - Create and push tag:
git tag v1.x.x && git push origin v1.x.x - GitHub Actions automatically builds and publishes wheels to PyPI
See RELEASING.md for detailed release instructions.
Contributing
Contributions are welcome! Please ensure:
- Code follows existing style
- Tests pass (if applicable)
- Documentation is updated
- Pre-compiled wheels build successfully
License
MIT License - This software is provided as-is for educational and development purposes.
Metadata
Release files for tiny-thermal-camera 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Incomplete provenance
5 of 11 files were uploaded without provenance metadata.
We recommend further investigation before installing these files. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tiny_thermal_camera-1.0.0.tar.gz | 2.0 MB | With provenance | Details for tiny_thermal_camera-1.0.0.tar.gz |
Built distributions (wheels)
Total release size: 12.1 MB
Release files / tiny_thermal_camera-1.0.0.tar.gz
Incomplete provenance
This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0.tar.gz |
|---|---|
| Size | 2.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
92a713c513c73636e574732641be93f74aceb9979ee01c448cafa89ea53a0ad7
|
|
BLAKE2b-256 checksum How to use checksums |
c843f9013bb52d18d664455624eefd8100b89a4c76882df9c90769d7de5378a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2025.
Transparency logRelease files / tiny_thermal_camera-1.0.0-cp312-cp312-win_amd64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 846.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bf62ade02658e64c3057e8660cc7bf20f669455256e0725241d39bc3d3bbe178
|
|
BLAKE2b-256 checksum How to use checksums |
b141192b612607a6cff065aa4d436142195030f1c5f9f7710caae44c7c8ef87c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tiny_thermal_camera-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
cc0bfcd4a1269f273e86a826f013993477e6b7b5b9e948ba6e8268c630446b02
|
|
BLAKE2b-256 checksum How to use checksums |
fff643a8a3cbefb0992567b0003f419009c3887048431bf58d9e90e4474f1a11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2025.
Transparency logRelease files / tiny_thermal_camera-1.0.0-cp311-cp311-win_amd64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 846.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cf600cf744e4c4af5cb9bcd183854578e291c3018d6fd3d3717a9bc79fdecf7b
|
|
BLAKE2b-256 checksum How to use checksums |
e963e5ca98da5392fc7d565cf7122229048da998118fc49ce8acdc763726cec3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tiny_thermal_camera-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0dba4931e05b96581022f3f4f932a8e7e5048ea99b90d870a52ab7779dfb1081
|
|
BLAKE2b-256 checksum How to use checksums |
d3ec3d5b6bf36599b003b78a7d01291d696126c42f7f13b4cb7646b21700f41f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2025.
Transparency logRelease files / tiny_thermal_camera-1.0.0-cp310-cp310-win_amd64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 846.3 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
667b5ff3221721e18f99781452db63121c96df72689c76e982298248a50c195b
|
|
BLAKE2b-256 checksum How to use checksums |
97dd3382e5cf32d4f03b77a2c17e74823bfd9550d2eaece295db19cc2c5e5c08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tiny_thermal_camera-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
520216af384da946e325784e6d0bb8641a28a8743dd0777600406f6c6183b8ab
|
|
BLAKE2b-256 checksum How to use checksums |
5eaa7a5ccfb47fb7b779b17c847e86c166ce84d11b732f803dabc226fcfa493a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2025.
Transparency logRelease files / tiny_thermal_camera-1.0.0-cp39-cp39-win_amd64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 845.2 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
93a495edc341a6820bbea10b9acd2e5bd15b17914a79b4e9de5c2522c84dd06c
|
|
BLAKE2b-256 checksum How to use checksums |
f739fcf3778b839290dd04a0a2681b826c0b6da2a3ab2e4d031d85ef4d9bd340
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tiny_thermal_camera-1.0.0-cp39-cp39-manylinux_2_28_x86_64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
69395a5f3131994897aea993156d6b735c2979ddf8ea967c5a61875c444574bb
|
|
BLAKE2b-256 checksum How to use checksums |
8591ac55afc9cb7fd2805d0c19047782a2409de77318e233dc7ab02416743671
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2025.
Transparency logRelease files / tiny_thermal_camera-1.0.0-cp38-cp38-win_amd64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while other files in this release have provenance metadata, this file does not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 860.6 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
370502400066a6588dcc934e5ad178d2e69bf3146d64ad82f42e67f6ac07c325
|
|
BLAKE2b-256 checksum How to use checksums |
d7e7acd6194f6f2497aabe2202a6680eeb375b2ae3f9b47bb569eaa4e099e66f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / tiny_thermal_camera-1.0.0-cp38-cp38-manylinux_2_28_x86_64.whl
Incomplete provenance
This file belongs to a release with incomplete provenance: while this file has provenance metadata, other files in this release do not.
We recommend further investigation before installing this file. View details.
| Download URL | tiny_thermal_camera-1.0.0-cp38-cp38-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.8 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0c7eb12d7d42e753bedb2d9da21a788acb4d666aa871401a097c4efe86d5792a
|
|
BLAKE2b-256 checksum How to use checksums |
d924a410a3524619fbbc8f814bd4c423b8fc0b8bb0ee26947a9ce86e9cce459b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2025.
Transparency logSecurity for tiny-thermal-camera 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Incomplete provenance
5 of 11 files were uploaded without provenance metadata.
Attestation for tiny_thermal_camera-1.0.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.