semvec/pypi-packages huggingface dataset:
nexios_contrib 0.3.2
Utility pack for Nexios
Requires Python: >=3.9
Keywords: API, ASGI, HTTP, Python, async, asynchronous, backend, concurrent, framework, granian, real-time, scalable, uvicorn, web, web server, websocket

<p align="center">
  <a href="https://github.com/nexios-labs">
    <img alt="Nexios Logo" height="350" src="https://nexios-labs.github.io/nexios/logo.png"> 
  </a>
</p>

<h1 align="center">Nexios Contrib</h1>

Community-driven extensions and add‑ons for the **[Nexios](https://nexios-labs.github.io/nexios/)** ASGI framework. This repository hosts independently versioned packages that you can install a‑la‑carte or together via the meta package.

📖 **[View Documentation](https://nexios-labs.github.io/nexios/community/)** | 🚀 **[Get Started](https://nexios-labs.github.io/nexios/community/)**

---

## Packages

- **URL Normalization Middleware**: `nexios_contrib.slashes`
  - README: [nexios_contrib/slashes/README.md](./nexios_contrib/slashes/README.md)
  - Handles trailing slashes, double slashes, and URL normalization for consistent, clean URLs.

- **Trusted Host Middleware**: `nexios_contrib.trusted`
  - README: [nexios_contrib/trusted/README.md](./nexios_contrib/trusted/README.md)
  - Validates the `Host` header against allowed hosts to prevent Host header attacks and ensure requests come from trusted domains.

- **ETag Middleware**: `nexios_contrib.etag`
  - README: [nexios_contrib/etag/README.md](./nexios_contrib/etag/README.md)
  - Provides automatic `ETag` generation and conditional request handling (`If-None-Match` → `304`).

- **JSON-RPC**: `nexios_contrib.jrpc`
  - README: [nexios_contrib/jrpc/README.md](./nexios_contrib/jrpc/README.md)
  - JSON-RPC 2.0 server and client implementation for building RPC APIs.

More contribs will be added over time. Contributions welcome!

---

## Installation

Install the meta package (brings in all contribs):

```bash
pip install nexios_contrib
```

Or install directly from a specific package as they become available on PyPI.

---

## Quick Example (ETag)

```python
from nexios import NexiosApp
import nexios_contrib.etag as etag

app = NexiosApp()
app.add_middleware(etag.ETag())

@app.get("/")
async def home(request, response):
    return {"message": "Hello with ETag!"}
```

See the full guide in the [ETag README](./nexios_contrib/etag/README.md).

---

## Development

This repo uses **[uv](https://github.com/astral-sh/uv)** workspaces and **hatchling** for builds.

Common tasks:

```bash
# Sync workspace deps
uv sync

# Run tests
pytest -q

# Build wheel/sdist
python -m build
```

---

## Project Structure

```
./
├── nexios_contrib/
│   └── etag/                 # ETag middleware package
├── tests/
├── docs/
├── pyproject.toml
└── README.md
```

Each contrib package is versioned and released independently.

---

## Releasing

1. Update the package’s version in its `pyproject.toml` (SemVer).
2. Commit and push to `main`.
3. Create a release/tag.
4. Publish to PyPI.

---

Built with ❤️ by [@nexios-labs](https://github.com/nexios-labs)
sphinxcontrib-nixdomain 0.1.2
Nix domain and autodoc for Sphinx
Requires Python: >=3.10
Keywords: nix, sphinx

# sphinxcontrib-nixdomain

[![PyPI - Version](https://img.shields.io/pypi/v/sphinxcontrib-nixdomain.svg)](https://pypi.org/project/sphinxcontrib-nixdomain)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/sphinxcontrib-nixdomain.svg)](https://pypi.org/project/sphinxcontrib-nixdomain)

-----

`sphinxcontrib-nixdomain` is a [Sphinx] extension
providing a [Sphinx domain] for [Nix].

The goal of this project is to be able to document
NixOS module options,
Nix packages,
Nix libraries,
using the Sphinx documentation ecosystem.

  [Sphinx]: https://www.sphinx-doc.org/
  [Sphinx domain]: https://www.sphinx-doc.org/en/master/usage/domains/index.html
  [Nix]: https://nixos.org/

## Documentation

See the [`sphinxcontrib-nixdomain` documentation] for installation and usage.

  [`sphinxcontrib-nixdomain` documentation]: https://sphinxcontrib-nixdomain.readthedocs.io/en/stable/index.html

## License

Licensed under the EUPL
netbox-more-metrics 0.4.0
Provide customized metrics on data stored in NetBox.
Requires Python: <4.0,>=3.11

# netbox-more-metrics

Create custom metrics and export information from NetBox into your timeseries database.

## Compatibility

| NetBox Version | Plugin Version |
|----------------|----------------|
| 3.4 <= 3.7     | 0.1.X, 0.2.X   |
| 4.0 <= 4.5     | 0.3.X, 0.4.X   |

## Installing

For adding to a NetBox Docker setup see
[the general instructions for using netbox-docker with plugins](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins).

### Install

```bash
pip install netbox-more-metrics
```

or by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netbox-docker):

```bash
netbox-more-metrics
```

### Development Install

If you would like to install a version not yet published to pypi.

```bash
pip install git+https://github.com/TheDJVG/netbox-more-metrics
```

or by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netbox-docker):

```bash
git+https://github.com/TheDJVG/netbox-more-metrics
```

### NetBox Configuration

Enable the plugin in `/opt/netbox/netbox/netbox/configuration.py`,
or if you use netbox-docker, your `/configuration/plugins.py` file :

```python
PLUGINS = [
    'netbox_more_metrics'
]
```

If you want to export the configured metrics without authentication set the plugin config `export_metrics_without_auth` to `True`.
By default, normal NetBox view permissions apply.
```python
PLUGINS_CONFIG = {
    'netbox_more_metrics' : {
        'export_metrics_without_auth': True
    }
}
```
## Features

### Custom metrics

For example, you could track the amount of active devices over time by rack and site
![Example metric](docs/img/example1.png)

Any model can be exported, data is grouped by the labels.

### Filter validation

Every filter is tested on save and also when the metric is initiated for exporting.
![Example invalid filter](docs/img/example2.png)

### Heavy lifting is done by the database

As much as possible is done in the database directly to take advantage of any Model specific optimizations.

`null` database values are converted to a string `"null"`.

# Functions

- Metrics can be included in the global metric endpoint (`/metrics`).
- Metrics and MetricCollections can be individually exported (as long as the Metric(Collection) is enabled)

# Future ideas

- Adding a way to export utilization (e.g. how many IPs of a prefix are used, or how much power is still available on a
  feed).

**More ideas welcome!**

# Missing

- Tests
- Documentation