PyCampbellCR1000
Communication tools for Campbell CR1000-type Dataloggers
What it is and what it does
PyCampbellCR1000 is a Python interface for querying Campbell CR1000-type environmental dataloggers. It abstracts the communication protocol (supporting TCP, UDP, Serial, and GSM connections) and provides methods to read the datalogger's internal clock, list available data tables, retrieve logged measurements within a date range, and download file content. Data is returned as dictionaries or can be exported to CSV.
The package is designed for post-processing workflows where a datalogger is already configured and deployed; it does not modify datalogger settings beyond adjusting the internal clock. It was last released in 2017 and is no longer actively maintained, though the repository remains archived on GitHub with no recent commits.
Use it for:
- Retrieve environmental sensor data (temperature, voltage, current) from a deployed CR1000 datalogger on a scheduled basis for analysis.
- Synchronize a remote datalogger's internal clock with a central time source via Python script.
- Export logged measurements from a specific table and date range to CSV for post-processing or archival.
- List available tables on a datalogger to discover what data streams are being recorded.
- Integrate datalogger queries into an automated data pipeline for environmental monitoring stations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Communicates with Campbell CR1000-type dataloggers over TCP, UDP, Serial, or GSM connections to query time, retrieve data tables, and download logged measurements.
No, unless you are maintaining legacy code already using this package. The project is abandoned (no releases since 2017, last commit 2023-05-25), and its runtime dependency PyLink is also unmaintained. Compatibility with modern Python versions is uncertain. If you need to communicate with a Campbell datalogger on a current system, evaluate maintained alternatives or contact Campbell for supported libraries.
Install
pycampbellcr1000 on PyPI
pip
pip install pycampbellcr1000uv
uv add pycampbellcr1000poetry
poetry add pycampbellcr1000Installing PyCampbellCR1000
Before you install
High install friction: no runtime dependencies listed, but the package is abandoned (last commit 2023-05-25, no releases since 2017-11-29). Maintenance status is stalled; expect compatibility issues with modern Python versions despite historical claims of 2.6+ and 3.x support.
License in practice
Licensed under GNU GPL v3 (copyleft). Any derivative work or bundled distribution must also be open-source under GPLv3; proprietary or closed-source projects cannot incorporate this code without releasing their own source.
Quickstart
from pycampbellcr1000 import CR1000
import datetime
device = CR1000.from_url('tcp:host-ip:port')
device.gettime()
data = device.get_data('Table1', datetime.datetime(2012, 7, 16, 11, 0, 0), datetime.datetime(2012, 7, 16, 12, 0, 0))
Requires a Campbell CR1000, CR800, or compatible datalogger accessible over TCP, UDP, Serial, or GSM; PyLink library dependency must be available.
Verify before relying
- Whether PyLink dependency is still maintained and compatible with modern Python versions.
- Actual compatibility with Python 3.x versions beyond 3.4, given the package's abandonment.
- Whether the package works reliably with CR3000 dataloggers as claimed.
Package facts
| License | GNU GPL v3 (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,180 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 94,078/month — #13,345 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PyCampbellCR1000-0.4.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pymysensorsPython API for communicating with MySensors…
permissive · top 15,000 on PyPI
pyRFC3339Parses and generates RFC 3339-compliant…
permissive · top 5,000 on PyPI
PyLinkPyLink provides a unified file-like interface…
permissive · top 15,000 on PyPI
pygelfProvides Python logging handlers that send log…
permissive · top 15,000 on PyPI
dsmr-parserParses Dutch Smart Meter Requirements (DSMR)…
permissive · top 15,000 on PyPI
goodweConnects to GoodWe solar inverters over local…
permissive · top 15,000 on PyPI
rflinkLibrary and command-line interface for…
permissive · top 15,000 on PyPI
aniso8601Parses ISO 8601 date, time, datetime, duration,…
permissive · top 5,000 on PyPI
smpmgrCLI tool for managing microcontroller firmware…
permissive · top 15,000 on PyPI
pyRFXtrxA Python library that communicates with RFXtrx…
copyleft · top 15,000 on PyPI