Skip to main content

CLI/TUI driven patch reporting for remote Unix-like systems.

Project description

Exosphere

GitHub release PyPI Current Dev Version Python Version Test Suite License

Exosphere is a CLI and Text UI driven application that offers aggregated patch and security update reporting as well as basic system status across multiple Unix-like hosts over SSH.

exosphere demo

It is targeted at small to medium sized networks, and is designed to be simple to deploy and use, requiring no central server, agents and complex dependencies on remote hosts.

If you have SSH access to the hosts and your keypairs are loaded in a SSH Agent, you are good to go!

Simply follow the Quickstart Guide, or see the documentation to get started.

Key Features

  • Rich interactive command line interface (CLI)
  • Text-based User Interface (TUI), offering menus, tables and dashboards
  • Consistent view of information across different platforms and package managers
  • See everything in one spot, at a glance, without complex automation or enterprise solutions
  • Does not require Python (or anything else) to be installed on remote systems
  • Parallel operations across hosts with optional SSH pipelining
  • Document based reporting in HTML, text or markdown format
  • JSON output for integration with other tools

Compatibility

Exosphere itself is written in Python and is compatible with Python 3.13 or later. It can run nearly anywhere where Python is available, including Linux, MacOS, and Windows (natively).

Supported platforms for remote hosts include:

  • Debian/Ubuntu and derivatives (using APT)
  • Red Hat/CentOS and derivatives (using YUM/DNF)
  • FreeBSD (using pkg)
  • OpenBSD (using pkg_add)

Unsupported platform with with SSH connectivity checks only:

  • Other Linux distributions (e.g., Arch Linux, Gentoo, NixOS, etc.)
  • Other BSD systems (NetBSD)
  • Other Unix-like systems (e.g., Solaris, AIX, IRIX, Mac OS)

Exosphere does not support other platforms where SSH is available. This includes network equipment with proprietary operating systems, etc.

Documentation

For installation instructions, configuration and usage examples, full documentation is available.

Development Quick Start

tl;dr, use uv

uv sync --dev
uv run exosphere

Linting, formatting and testing can be done with poe tasks:

uv run poe format
uv run poe check
uv run poe test

For more details, and available tasks, run:

uv run poe --help

UI Development Quick Start

The UI is built with Textual.

A quick start for running the UI with live editing and reloading, plus debug console, is as follows:

# Ensure you have the dev dependencies
uv sync --dev
# In a separate terminal, run the console
uv run textual console
# In another terminal, run the UI
uv run textual run --dev -c exosphere ui start

Congratulations! Editing any of the .tcss files in the ui/ directory will reflect changes immediately.

Make sure you run Exosphere UI with exosphere ui start.

Documentation Editing Quick Start

To edit the documentation, you can use the following commands:

uv sync --dev
uv run poe docs-serve

This will start a local server at http://localhost:8000 where you can view the documentation. You can edit the files in the docs/source directory, and the changes will be reflected in real-time.

To check the documentation for spelling errors, you can run:

uv run poe docs-spellcheck

Linting is performed as part of the poe docs task, which also builds the documentation, but can also be invoked separately:

uv run poe docs-lint

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exosphere_cli-2.4.0.tar.gz (79.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exosphere_cli-2.4.0-py3-none-any.whl (104.2 kB view details)

Uploaded Python 3

File details

Details for the file exosphere_cli-2.4.0.tar.gz.

File metadata

  • Download URL: exosphere_cli-2.4.0.tar.gz
  • Upload date:
  • Size: 79.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for exosphere_cli-2.4.0.tar.gz
Algorithm Hash digest
SHA256 01ad043725b4d8f9334cc0e55757c658fcb2a0bc38cb643e7f565d7af12d32ff
MD5 af39726b2f7fc8294a4262190c23a502
BLAKE2b-256 a5cb0916db64463abf40f926e93e8c7e9b144f9b2e2a6bc9fc8a34280e3549f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for exosphere_cli-2.4.0.tar.gz:

Publisher: publish.yml on mrdaemon/exosphere

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file exosphere_cli-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: exosphere_cli-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 104.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for exosphere_cli-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27003ac1ffb16716adde203a7b09e30f0980c104b3fa0ea7175f5c95c7e56f60
MD5 023f4956d597455c32cd3833693b7c4a
BLAKE2b-256 838d415ee1dff7340f31cb891f8b19eeb685a10803f7a4ca963e336255b2f57e

See more details on using hashes here.

Provenance

The following attestation bundles were made for exosphere_cli-2.4.0-py3-none-any.whl:

Publisher: publish.yml on mrdaemon/exosphere

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page