Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Description

A fully functional, API-first implementation of core software for control and use of the Decent Espresso DE1.

It provides core components, which can be run as an unattended service that automatically starts at boot, to supply stable, versioned APIs to provide all primary functions of use of a DE1 and data collection around it.

A web app has been able to demonstrate sufficiency of the APIs and functionality for the majority of day-to-day operations, including real-time graphing and history display. A running example is available, linked from DecentForum.com. It uses the supplied, stand-alone “replay” application to play back a shot in real time. This tool is also useful for development of companion applications.

Profiles and real-time data are captured into a SQLite3 database that allows multiple, concurrent access.

A stand-alone program is provided that can automatically upload “shots” to Visualizer as soon as they complete. It can also notify consumers of the URL returned.

An example program is provided that generates legacy-style, “shot files” that are compatible with Visualizer and John Weiss’ shot-plotting programs.

The APIs are under semantic versioning. The REST-like, HTTP-transport versions can be retrieved from version at the document root, and also include the Python and package versions installed. Each of the JSON-formatted, MQTT packets contains a version key:value for that payload.

Consumers of these APIs should only need to understand high-level actions, such as “Here is a profile blob, please load it.” The operations and choice of connectivity to the devices is “hidden” behind the APIs.

Documentation and Source

Documentation is available at https://pyde1.readthedocs.io/en/latest/

Source code is available at https://github.com/jeffsf/pyDE1.git

Requirements

Python 3.8 or later.

Current plans are to continue to support two versions prior to the latest Python version. PEP 664 shows a schedule of October, 2022 for Python 3.11.0 release. Users should plan on moving to at least Python 3.9 prior to that release. Python 3.9 is “standard” with the Debian Bullseye distro, as well as the current, Raspberry Pi OS release.

Available through pip and installed as dependencies:

  • aiosqlite

  • bleak

  • paho-mqtt

  • PyYAML

  • requests

An MQTT broker compatible with MQTT 5 clients, such as mosquitto 2.0

A production-quality web server, such as nginx is highly recommended operating as a reverse proxy, rather than directly exposing the Python web server.

Status — Release

This code is used on a daily basis for operation of the author’s DE1.

License

Copyright © 2021, 2022 Jeff Kletsky. All Rights Reserved.

License for this software, part of the pyDE1 package, is granted under

GNU General Public License v3.0 only

SPDX-License-Identifier: GPL-3.0-only

Metadata

Release files for pyDE1 1.5.0a20220922

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyDE1 1.5.0a20220922
File Size Uploaded
pyDE1-1.5.0a20220922.tar.gz 168.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyDE1 1.5.0a20220922
File Interpreter ABI Platform
pyDE1-1.5.0a20220922-py3-none-any.whl Python 3 none any Details

Total release size: 373.2 kB

Release files / pyDE1-1.5.0a20220922.tar.gz

Download URL pyDE1-1.5.0a20220922.tar.gz
Size 168.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2a24de675767552350cf6f535d8302a424b3cf5784ab147737e1adca1eff4e43
BLAKE2b-256 checksum
How to use checksums
64655621c923e52850c0b7380d383d1b00918533b2cfc4c1e29942644615bc70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release files / pyDE1-1.5.0a20220922-py3-none-any.whl

Download URL pyDE1-1.5.0a20220922-py3-none-any.whl
Size 204.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae68c74b4b2ed80b07bd8a02109d8dd0cc981ab4f9fbdff1cbfa02397ae1f975
BLAKE2b-256 checksum
How to use checksums
7d078ecd4a077cc76e36214179ddf58fa308e78e22b0d7df9f0f3ca5e5cc13cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.6

Release history Release notifications | RSS feed

2.0.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

This release

1.5.0a20220922 This release

2 release files

1.4.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.10.3

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page