semvec/pypi-packages huggingface dataset:
charmlibs-nginx-k8s 0.1.0
Nginx sidecar container abstractions for k8s charms.
Requires Python: >=3.10

# nginx-k8s

`nginx-k8s` provides abstractions for Juju Charms to run a sidecar Nginx container and a corresponding Prometheus exporter.
The supported Nginx configuration is not meant to fully cover all Nginx features, but a minimal subset sufficient to cover our immediate use cases. 

To install, add `charmlibs-nginx-k8s` to your requirements. Then in your Python code, import as:

```py
from charmlibs import nginx_k8s
```

Check out the reference docs on the [charmlibs docsite](https://documentation.ubuntu.com/charmlibs/reference/charmlibs/nginx-k8s/).

# Getting started

To get started, you can add two sidecar containers to your charm's `charmcraft.yaml` and in `charm.py`, 
instantiate the `Nginx` and `NginxPrometheusExporter` classes in your initializer and call their `.reconcile()` methods whenever you wish to synchronize the configuration files.

```py
import ops

from charmlibs import nginx_k8s


class MyCharm(ops.CharmBase):
    def __init__(self, framework: ops.Framework):
        super().__init__(framework)
        self._nginx = nginx_k8s.Nginx(
            self.unit.get_container("nginx"),  # container name as defined in charmcraft.yaml
            nginx_config=nginx_k8s.NginxConfig(
                server_name="foo",
                upstream_configs=[
                    nginx_k8s.NginxUpstream(name="foo", port=4040, group="backend"),
                    nginx_k8s.NginxUpstream(name="bar", port=4041, group="frontend"),
                ],
                server_ports_to_locations={8080: [
                    nginx_k8s.NginxLocationConfig(
                        path="/", 
                        backend="foo", 
                        backend_url="/api/v1", 
                        headers={"a": "b"},
                        modifier="=",
                        is_grpc=True, 
                        upstream_tls=True
                    ),
                ]}
            )
        )
        self._nginx_pexp = nginx_k8s.NginxPrometheusExporter(
            self.unit.get_container('nginx-pexp-container')
        )

        self.framework.observe(self.on.nginx_container_pebble_ready, self._on_reconcile)
        self.framework.observe(self.on.nginx_pexp_container_pebble_ready, self._on_reconcile)

    def _on_reconcile(self, _):
        self._nginx.reconcile(
            upstreams_to_addresses={
                "foo": {"http://example.com"},
                "bar": {"http://example.io"},
            }
        )
        self._nginx_pexp.reconcile()
```
numcodecs-shuffle 0.1.0
Typed byte shuffle codec for the `numcodecs` buffer compression API
Requires Python: >=3.10

[![image](https://img.shields.io/github/actions/workflow/status/juntyr/numcodecs-shuffle/ci.yml?branch=main)](https://github.com/juntyr/numcodecs-shuffle/actions/workflows/ci.yml?query=branch%3Amain)
[![image](https://img.shields.io/pypi/v/numcodecs-shuffle.svg)](https://pypi.python.org/pypi/numcodecs-shuffle)
[![image](https://img.shields.io/pypi/l/numcodecs-shuffle.svg)](https://github.com/juntyr/numcodecs-shuffle/blob/main/LICENSE)
[![image](https://img.shields.io/python/required-version-toml?tomlFilePath=https%3A%2F%2Fraw.githubusercontent.com%2Fjuntyr%2Fnumcodecs-shuffle%2Frefs%2Fheads%2Fmain%2Fpyproject.toml)](https://pypi.python.org/pypi/numcodecs-shuffle)
[![image](https://readthedocs.org/projects/numcodecs-shuffle/badge/?version=latest)](https://numcodecs-shuffle.readthedocs.io/en/latest/?badge=latest)

# numcodecs-shuffle

`TypedByteShuffleCodec` for the [`numcodecs`] buffer compression API.

[`numcodecs`]: https://numcodecs.readthedocs.io/en/stable/

## License

Licensed under the Mozilla Public License, Version 2.0 ([LICENSE](LICENSE) or https://www.mozilla.org/en-US/MPL/2.0/).


## Funding

The `numcodecs-shuffle` package has been developed as part of [ESiWACE3](https://www.esiwace.eu), the third phase of the Centre of Excellence in Simulation of Weather and Climate in Europe.

Funded by the European Union. This work has received funding from the European High Performance Computing Joint Undertaking (JU) under grant agreement No 101093054.
revertex 0.2.0
Generate Geant4 event vertices in Python
Requires Python: >=3.10

# revertex

[![PyPI](https://img.shields.io/pypi/v/revertex?logo=pypi)](https://pypi.org/project/revertex/)
[![conda-forge](https://img.shields.io/conda/vn/conda-forge/revertex.svg)](https://anaconda.org/conda-forge/revertex)
![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/legend-exp/revertex?logo=git)
[![GitHub Workflow Status](https://img.shields.io/github/checks-status/legend-exp/revertex/main?label=main%20branch&logo=github)](https://github.com/legend-exp/revertex/actions)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Codecov](https://img.shields.io/codecov/c/github/legend-exp/revertex?logo=codecov)](https://app.codecov.io/gh/legend-exp/revertex)
![GitHub issues](https://img.shields.io/github/issues/legend-exp/revertex?logo=github)
![GitHub pull requests](https://img.shields.io/github/issues-pr/legend-exp/revertex?logo=github)
![License](https://img.shields.io/github/license/legend-exp/revertex)
[![Read the Docs](https://img.shields.io/readthedocs/revertex?logo=readthedocs)](https://revertex.readthedocs.io)

_revertex_ provides functionality to generate event vertices (primarily
positions, but also kinematics) that can be read into _remage_ (see
[link](https://remage.readthedocs.io/en/latest/manual/generators.html#simulating-event-vertices-and-kinematics-from-external-files))

For more information see our [documentation](https://revertex.readthedocs.io)!