semvec/pypi-packages huggingface dataset:
sysmon-sdk 0.1.4
Python SDK and CLI to interact with the sysmon daemon
License: MIT
Requires Python: >=3.8

# sysmon_sdk

![Build](https://github.com/gupta55760/sysmon-sdk/actions/workflows/python-tests.yml/badge.svg)
![Coverage](coverage.svg)

A lightweight Python system monitoring SDK and CLI...


A lightweight Python system monitoring SDK and CLI that communicates with a background daemon process via Unix Domain Sockets (UDS). It lets users query system metrics like CPU and memory, and control the daemon using simple CLI commands.

---

## 🚀 Features

- 🔧 Multithreaded daemon to monitor CPU and memory usage
- 📡 Client-server communication over Unix domain sockets
- 🧪 Test coverage with `pytest`, `pytest-cov`
- 🖥 Simple CLI interface: `status`, `metrics`, `shutdown`
- 🔐 PID file support and graceful shutdown

---

## 📦 Installation (from TestPyPI)

You can install the package from **TestPyPI** using:

```bash
pip install --index-url https://test.pypi.org/simple/ sysmon-sdk
```

> ⚠️ Make sure `psutil` is installed if not already. You can run:  
> `pip install psutil`

---

## 🧑‍💻 Usage

First, run the daemon (this runs in the background):

```bash
python -m sysmon_sdk.daemon
```

Then use the CLI commands:

```bash
sysmon status     # Check daemon status
sysmon metrics    # View current CPU and memory usage
sysmon shutdown   # Gracefully shut down the daemon
```

---

## 🛠 Developer Setup

Clone the repository and install locally:

```bash
git clone https://github.com/YOUR_USERNAME/sysmon-sdk.git
cd sysmon-sdk
pip install .
```

To run the CLI directly from source:

```bash
python -m sysmon_sdk.cli status
```

---

## 🧪 Running Tests

Run all unit and integration tests:

```bash
pytest
```

To get test coverage:

```bash
pytest --cov=sysmon_sdk --cov-report=html
open htmlcov/index.html
```

To run all tests and generate coverage reports with daemon:

```bash
./test_runner.sh
```

---

## 📁 Project Structure

```
sysmon_sdk/
├── cli.py         # CLI entry point
├── core.py        # Client-side socket interaction
├── daemon.py      # Multithreaded background process
├── config.py      # Loads socket path/config
├── config.json    # Optional config file
```

---

## 📜 License

This project is licensed under the MIT License.  
Feel free to use, modify, and distribute.

---
regolith-system-template 1.4.0
A Python package for easier reuseability of the System Template Regolith filter for Minecraft Bedrock Edition
License: MIT
Requires Python: >=3.10

Regolith System Template
========================

A Python package that powers the `System Template Regolith Filter <https://system-template-docs.readthedocs.io/en/stable/>`_ and provides a command-line tool for creating projects based on templates defined using the System Template syntax.

Installation
-------------

.. code-block:: bash

   pip install regolith-system-template

Command-Line Tool
-----------------

This package adds the :code:`system-template` command-line tool.

Before using the tool, set the :code:`REGOLITH_SYSTEM_TEMPLATE` environment variable to specify the directory where your templates are stored. Templates should be organized into subfolders within this directory, using the same format as the Regolith filter.

You can verify that :code:`system-template` is set up correctly by running the following command:

.. code-block:: bash

   system-template list

This will list all available templates in the :code:`REGOLITH_SYSTEM_TEMPLATE` directory.

To use a template, run:

.. code-block:: bash

   system-template run <template-name>

This will create a new system based on the template named :code:`<template-name>`.

Flags
-----

- :code:`--systems-path` - Instead of using the :code:`REGOLITH_SYSTEM_TEMPLATE` environment variable, specify the path to the template directory with this flag.
- :code:`--scope-path` - Provide the path to a file containing the scope for template execution. This is useful when executing a template within a Regolith project. In that case, use this flag to specify the project's global Regolith scope.
- :code:`--scope` - Define the scope in JSON format. When using System Template as a Regolith filter, it uses the scope defined in :code:`config.json`. This flag allows you to provide a replacement for that scope when running the command-line tool.
- :code:`--allow-non-empty` - By default, the tool does not run in non-empty directories. Use this flag to override this behavior.
- :code:`--replacements` - Provide a JSON object with key-value pairs to replace text in the template files. This corresponds to the :code:`replacements` setting in :code:`config.json` when using System Template as a Regolith filter.

For additional help, use the :code:`--help` flag.

Unlike the Regolith filter, the command-line tool is not restricted to exporting only to the :code:`RP/`, :code:`BP/`, and :code:`data/` directories.