semvec/pypi-packages huggingface dataset:
pypi-changes 1.4.0
check out when packages changed
Requires Python: >=3.9
Keywords: environments, isolated, testing, virtual

# pypi_changes

[![PyPI](https://img.shields.io/pypi/v/pypi-changes?style=flat-square)](https://pypi.org/project/pypi-changes/)
[![Supported Python
versions](https://img.shields.io/pypi/pyversions/pypi-changes.svg)](https://pypi.org/project/pypi-changes/)
[![check](https://github.com/gaborbernat/pypi_changes/actions/workflows/check.yaml/badge.svg)](https://github.com/gaborbernat/pypi_changes/actions/workflows/check.yaml)
[![Downloads](https://static.pepy.tech/badge/pypi-changes/month)](https://pepy.tech/project/pypi-changes)

[![asciicast](https://asciinema.org/a/446966.svg)](https://asciinema.org/a/446966)
xolir 0.0.1
Python protobuf classes for Tel IR api
Requires Python: >=3.8


# Xolir (Tel IR schema)

## Goal

Some languages, like [Tel](https://github.com/mverleg/tel), compile to multiple other languages. All the parsing and type checking is shared, but codegen is different.

To facilitate this, there needs to be a clear api that different code generator backends can consume. Since these backends may be different processes, it should be serializable.

That is Xolir - a cross-language intermediary representation (xo l ir). It is made for, but not restricted to, [Tel](https://github.com/mverleg/tel).

## Usage

The IR is specified in Protobuf3 format. You can compile this yourself with protoc 

```bash
rm -rf target/ &&\
bash run.sh build &&\
sudo chown $USER:$USER -R target/
```

## Tests

There is a test that generates some Xolir data with python and generates Java code.

See `tests/test.sh` to run this.

## Implementation

Note that the language you generate the code for doesn't have to be the same language that the code generator is implemented in.

This uses protobuf. While this is not as descriptive as e.g. json-schema, this has better support for generating fast code in a range of languages.
devpi-process 1.1.0
devpi process provides a programmatic API to create and use a devpi server process
Requires Python: >=3.10
Keywords: environments, isolated, testing, virtual

# devpi-process

[![PyPI](https://img.shields.io/pypi/v/devpi-process?style=flat-square)](https://pypi.org/project/devpi-process)
[![PyPI - Implementation](https://img.shields.io/pypi/implementation/devpi-process?style=flat-square)](https://pypi.org/project/devpi-process)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/devpi-process?style=flat-square)](https://pypi.org/project/devpi-process)
[![Downloads](https://static.pepy.tech/badge/devpi-process/month)](https://pepy.tech/project/devpi-process)
[![PyPI - License](https://img.shields.io/pypi/l/devpi-process?style=flat-square)](https://opensource.org/licenses/MIT)
[![check](https://github.com/tox-dev/devpi-process/actions/workflows/check.yaml/badge.svg)](https://github.com/tox-dev/devpi-process/actions/workflows/check.yaml)

Allows you to create [devpi](https://devpi.net/docs/devpi/devpi/stable/+d/index.html) server process with indexes, and
upload artifacts to that programmatically.

## install

```sh
pip install devpi-process
```

## use

```python
from pathlib import Path

from devpi_process import Index, IndexServer

with IndexServer(Path("server-dir")) as server:
    # create an index mirroring an Artifactory instance
    magic_index_url = "https://magic.com/artifactory/api/pypi/magic-pypi/simple"
    base_name = "magic"
    server.create_index(base_name, "type=mirror", f"mirror_url={magic_index_url}")

    # create a dev index server that bases of magic PyPI, and upload a wheel to it
    dev: Index = server.create_index("dev", f"bases={server.user}/{base_name}")
    dev.upload("magic-2.24.0-py3-none-any.whl")

    assert dev.url  # point the tool consuming the index server to this
```
cryogrid_pytools 0.3.20
Tools to read in CryoGrid MATLAB data to Python and create forcing data
Requires Python: >=3.11

# CryoGrid-pyTools
Tools to read in CryoGrid MATLAB data to Python, includes forcing, outputs, DEMs, etc.

Feel free to use, modify, and distribute as you see fit.

## Installation

```bash
pip install cryogrid_pytools

# OR for the very latest bleeeeding edge version
pip install "cryogrid-pytools[data,viz] @ git+https://github.com/lukegre/CryoGrid-pyTools.git"
```

However, I recommend using `uv` to manage your Python environments. This would be
```bash
uv add cryogrid-pytools[data,viz]

# OR
uv add "cryogrid-pytools[data,viz] @ git+https://github.com/lukegre/CryoGrid-pyTools.git"
```

## Usage
This package can read in
- CryoGrid output (from `OUT_regridded_FCI2`)
- simple MATLAB struct files (not `run_info.mat`)
- ERA5 forcing
- excel run configuration files (experimental)

Basic examples are shown below for the first two items, but see `demo.ipynb` for more comprehensive examples.

### Reading single CryoGrid output files

Currently, only output files from the calss `OUT_regridded_FCI2` are supported.
However, the majority of files you'll use follow this format.
```python
import cryogrid_pytools as cgt

# a single file that should look something like this
fname = "results_from_RUN_SIMPLE/<project_name>_<YYYYMMDD>.mat"

# currently the only output from OUT_regridded_FCI2 is supported
dataset = cgt.read_OUT_regridded_FCI2_file(fname)
```

### Reading multiple CryoGrid output files

If you're working with RUN_SPATIAL_SPINUP_CLUSTERING, you can read in multiple files at once. The data are returned as an `xarray.Dataset` with the dimensions: [`gridcell`, `depth`, `time`]
```python
# path contains wildcards where cluster ID and date are respectively
fname = "results_from_RUN_SPATIAL_SPINUP_CLUSTERING/project_name_*_*.mat"

# deepest_point is the deepest point in the saved files
dataset = cgt.read_OUT_regridded_FCI2_clusters(fname, deepest_point=-5)
```

### Reading struct files from MATLAB
<div style="border: 1px solid; border-radius: 5px; padding: 10px; margin: 10px 0; width: 97.5%; border-color: #0096C7; background-color: rgba(0, 150, 199, 0.1); "><b>TIP</b>: In <code>MATLAB</code>, You need to add the `CryoGrid/source` directory to the MATLAB path before the file can be loaded properly. </div>

Note that `run_info.mat` cannot be read as it contains special classes that are not supported by `scipy.io.loadmat`.  To save parts of `run_info`, use the following code in MATLAB:

```matlab
run_info_spatial = run_info.SPATIAL.STATVAR
save "run_info_spatial.mat" run_info_spatial
```

Then, in Python:

```python
fname = 'path_to_file/run_spatial_statvar.mat'
spatial = cgt.read_mat_struct_as_dataset(fname, index=['Y', 'X'])
```