intuitive admin library
Project description
hostess
overview
hostess
provides lightweight, Pythonic interfaces to distributed resources,
system processes, and Python internals. It includes high-level modules that
provide special functionality for working with EC2 instances and S3 buckets,
and a framework (station
) for workflow coordination -- along with all their
lower-level building blocks.
hostess
reduces syntactic headaches and boilerplate while still
allowing low-level manipulation and, more broadly, still feeling like code.
hostess
has a special emphasis on fitting intuitively and idiomatically into
common data science and scientific analysis workflows, but it is fundamentally
a general-purpose utility and administration library.
installation
hostess
is available on PyPI and conda-forge. We recommend installing it
into a Conda environment using conda
:
conda install -n my_environment -c conda-forge hostess
.
The conda-forge package installs all optional dependencies other than those for tests and Notebooks. If you require more granular control over dependencies, please install from source.
documentation
Examples for working with EC2 instances can be found in this jupyter notebook.
Examples for working with S3 buckets can be found in this jupyter notebook.
You can find an API reference and full changelog on readthedocs.
compatibility
hostess
's core features are closely linked to the shell, so it is only fully compatible with Unix-scented operating systems. Linux and MacOS count, as does Windows Subsystem for Linux (WSL). Windows outside of WSL doesn't.- Some
hostess
modules require network access, specificallyssh
and theaws
submodules. Theaws
submodules also require an AWS account. See the example Notebooks for more details on this. hostess
requires Python >= 3.9.hostess
is very lightweight. If a machine has enough resources to run a Python interpreter, it can probably runhostess
.hostess.station
is not fully compatible with MacOS or WSL. MacOS and WSL compatibility is planned. All other parts ofhostess
are compatible with MacOS and WSL.
cautions
hostess
is a reliable and fairly feature-complete beta in active use on
multiple projects. However, we do not yet guarantee interface stability or
backwards compatibility.
Also, as with any system administration software, we recommend using it very carefully.
tests
hostess
includes a simple test suite compatible with pytest
. More
comprehensive tests are planned. (In particular, non-local networking features
currently lack test coverage.) You can run the tests by executing pytest -s
in the root directory. The -s
flag is mandatory because pytest
captures
stdout by default, which breaks some hostess
features covered by the tests.
Tests require two additional dependencies: pytest
and pillow
.
licensing
You can do almost anything with this software that you like, subject only to the extremely permissive terms of the BSD 3-Clause License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hostess-0.10.0.tar.gz
.
File metadata
- Download URL: hostess-0.10.0.tar.gz
- Upload date:
- Size: 372.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02313ad2a2713acce6ec339f31c29cc8028561429001277372915a03f48b8c27 |
|
MD5 | ce8b6b8b494e789137a92e97cbf63d92 |
|
BLAKE2b-256 | 1ee853847553980268f583b703d71fe6ee617532399344da798f84dba6e270b7 |
File details
Details for the file hostess-0.10.0-py3-none-any.whl
.
File metadata
- Download URL: hostess-0.10.0-py3-none-any.whl
- Upload date:
- Size: 371.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dbac2dc39db9b4b00545eb5adedd568e14d7a464f823a26d68b934b3039da96 |
|
MD5 | 5c1590c2156b4634e7bb7fbde64a2ad5 |
|
BLAKE2b-256 | b68e62e72d82ebd782d9a8d3d3faa5293340390f9ad0aa085a1a7d9062a0dce5 |