semvec/pypi-packages huggingface dataset:
maya-brew 0.0.5
Safe interaction with python in maya
Requires Python: >=3.11
Keywords: 3d, autodesk, maya, pipeline

# maya-brew

> **Status: Pre-Alpha** – Interfaces are experimental and may change without notice. Pin exact versions if using in
> automation.

What you need after a long day of wrestling with Maya Python.

[![Super-Linter](https://github.com/mortenbohne/maya-brew/actions/workflows/linter.yml/badge.svg)](https://github.com/marketplace/actions/super-linter)

---

## Overview

`maya-brew` aims to provide safer, more structured interaction patterns when scripting or tooling inside Autodesk Maya.

Goals:

- Reduce foot‑guns when using Python inside Maya
- Offer utilities that behave well with Maya’s quirks

## Background

`maya-brew` draws inspiration from some of the ergonomic goals that motivated
[PyMEL](https://github.com/LumaPictures/pymel): making Maya’s Python interface feel more “Pythonic,” safer, and more
discoverable. PyMEL historically provided rich object wrappers around nodes, attributes, and other scene elements;
for many workflows this improved readability and reduced boilerplate.

However, over time several practical factors led to the decision to start a lightweight alternative instead of
extending PyMEL itself:

- Scope & Complexity: PyMEL’s dynamic wrapping and layered abstractions can introduce startup overhead, indirection, and
  occasional debugging friction.
- Historical Churn: A long evolution, multiple contributors, and some legacy design choices make selective modernization
  non‑trivial.
- Maintenance & Momentum: While still usable, PyMEL no longer appears to have the same pace of active development or
  broad community push it once did.
- Adoption Fit: Many pipelines only need a thin set of safety/ergonomic helpers—not a full object layer over
  `maya.cmds`.

### Acknowledgment

PyMEL significantly influenced how many technical artists approach Maya scripting, and this project stands on that
conceptual foundation. `maya-brew` simply narrows the focus: take the useful ergonomic ideas, shed the heavy wrapping,
and keep to the canonical APIs.
hic-io 1.0.16
Process HiC files
Requires Python: >=3.8

## Installation

```
pip install hic-io
```

Requires numpy and pybind11.

## Usage

### Read signal

```python
reader = hic_io.Reader(path)
values = reader.read_signal(chr_ids, starts, ends)
```

Parameters:
- `chr_ids` `starts` `ends` Chromosomes ids, starts and ends of the 2 locations.
- `bin_size` Input bin size or -1 to use the smallest. Must be available in the file. Smallest by default.
- `bin_count` Max output bin count. Takes precedence over `bin_size` if specified by selecting the smallest bin size so that output width and height are not larger that `bin_count`. Not specified by default.
- `full_bin` Extend locations ends to overlapping bins if true. Not by default.
- `def_value` Default value to use when no data overlap a bin. 0 by default.
- `mode` Either "observed" or "oe" (observed/expected). "observed" by default.
- `normalization` Either "none" or any normalization available in the file, such as "kr", "vc" or "vc_sqrt". "none" by default.
- `unit` Either "bp" or "frag". "bp" by default.
- `triangle` Skip symmetrical data if true. Not by default.
- `max_distance` Max contact size in bp to report. All if -1. All by default.

Outputs a numpy float32 array of shape (location 1 span//bin_size, location 2 span//bin_size).

### Read sparse signal

```python
reader = hic_io.Reader(path)
values = reader.read_sparse_signal(chr_ids, starts, ends)
```

Parameters:
- `chr_ids` `starts` `ends` `bin_size` `bin_count` `bin_count` `full_bin` `mode` `normalization` `unit` `triangle` `max_distance` Identical to `read_signal` method.

Returns a COO sparse matrix as a dict with keys:
- `values` Values as a numpy float32 array.
- `row` Values rows indices as a numpy int32 array.
- `col` Values columns indices as a numpy int32 array.
- `shape` Shape of the dense array as a tuple.

Convert in python using `scipy.sparse.csr_array((x["values"], (x["row"], x["col"])), shape=x["shape"])`.