agnue-push
CLI and Python SDK for uploading sensor data to the AgNUE platform.
Step-by-step guide (install, configure, first upload, scheduling with cron or Windows Task Scheduler, troubleshooting): Automatic uploads with agnue-push.
Installation
pip install agnue-push
# with Parquet conversion before upload (smaller, faster transfers):
pip install 'agnue-push[convert]'
Configuration
When your site is approved, you receive an agnue.toml file by email. Place it in the directory you run agnue from — the SDK reads ./agnue.toml.
You can also configure via environment variables: AGNUE_PLATFORM_URL, AGNUE_CLIENT_ID, AGNUE_CLIENT_SECRET, and optionally AGNUE_KEYCLOAK_URL (defaults to <platform origin>/realms/agnue) and AGNUE_S3_*. Precedence: CLI flags / explicit args > env vars > agnue.toml.
CLI
# Upload a single file
agnue upload data.csv --data-source DK-Foo-SOIL-001
# Upload a directory
agnue upload ./sensor-exports/ --data-source DK-Foo-SOIL-001
# Upload with glob, excluding backups
agnue upload "*.csv" --data-source DK-Foo-SOIL-001 --exclude "*_backup*"
The --data-source ID follows the format CC-SSS-DOMAIN-SEQ (e.g. DK-Foo-SOIL-001).
Fallback behaviour: if the platform API is unreachable after 3 attempts, files are uploaded directly to S3 only if the resolved S3 settings are complete (from the [s3] block, AGNUE_S3_* env vars or --s3-* flags), otherwise copied to a local agnue-staging/ folder. In both cases upload() returns None.
Python API
from agnue_push import AgNUEClient
client = AgNUEClient.from_config() # reads ./agnue.toml or env vars
# client = AgNUEClient.from_config("/path/to/agnue.toml")
# Upload a file — returns ingestion_id, or None after the direct-S3 or local-staging fallback
ingestion_id = client.upload("data.csv", data_source_id="DK-Foo-SOIL-001")
# Re-uploading the same file is safe: the platform recognises it and returns the original ingestion_id
Pass explicit config instead of a file:
client = AgNUEClient.from_config(
platform_url="https://nuedata.eu",
client_id="site-DK-Foo",
client_secret="...",
)
Changelog
0.3.0
Breaking
- Removed
AgNUEClient.verify_upload()andAgNUEClient.list_uploads(). They could only see files sent through the direct-S3 fallback, not files sent through the platform. To check whether a file arrived, upload it again: the platform recognises it and returns the original ingestion ID.
Metadata
Release files for agnue-push 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agnue_push-0.3.0.tar.gz | 29.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agnue_push-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.1 kB
Release files / agnue_push-0.3.0.tar.gz
| Download URL | agnue_push-0.3.0.tar.gz |
|---|---|
| Size | 29.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f56833df2dd85cd98e823cc7272cc0f52cfc4be010a0f35de1104e1d9f47349
|
|
BLAKE2b-256 checksum How to use checksums |
4140aeeeaa4ee545d257efc88285bbf9b23ea0b1d3d8a8e742091d10d406df0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 7, 2026.
Transparency logRelease files / agnue_push-0.3.0-py3-none-any.whl
| Download URL | agnue_push-0.3.0-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b66cfb7491976e4c1e7760ee023dec5c6a3374564973d983e93303c5ccb11405
|
|
BLAKE2b-256 checksum How to use checksums |
77667cd2f8a7f043d21b1c23419bbb859ffcbc2d03398654fda8b3468590ff58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 7, 2026.
Transparency logSecurity for agnue-push 0.3.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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for agnue_push-0.3.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 7, 2026.
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.