semvec/pypi-packages huggingface dataset:
gitlab-pypi 0.1.2
GitLab PyPI registry tools
Requires Python: >=3.12
Keywords: gitlab, packages, pypi, registry

# gitlab-pypi

A command-line tool for managing Python packages in GitLab's PyPI registry.

GitLab provides a built-in PyPI package registry, but the web UI for browsing and managing packages is limited. gitlab-pypi gives you a fast, readable CLI for listing packages, inspecting versions, and downloading or uploading wheel files — all via the GitLab REST API.

## Features

- **List packages** — see all packages at a glance, with version counts and latest stable version
- **Show versions** — view all versions for one or more packages, with pre-release filtering
- **Download** — fetch `.whl` files from the registry
- **Upload** — publish one or more `.whl` files to the registry
- **Delete** — remove a package version from the registry
- **Multiple output formats** — coloured tables (default), `--plain` for piping into pip, or `--json` for scripting

Zero external dependencies — uses only the Python 3.12+ standard library.

## Installation

```bash
pip install gitlab-pypi
```

## Configuration

Create a config file at `~/.config/gitlab-pypi/config.json`:

```json
{
  "url": "https://gitlab.com",
  "project": "my-group/my-project",
  "token": "glpat-xxxxxxxxxxxx"
}
```

Or pass these as CLI flags (`--url`, `--project`, `--token`) on each command.

## Usage

```bash
# List all packages in the registry
gitlab-pypi list

# Show versions for a package (stable only by default)
gitlab-pypi show my-package

# Show all versions including pre-releases
gitlab-pypi show my-package --all

# Plain output for piping into pip or requirements files
gitlab-pypi show my-package --plain

# Download the latest stable wheel
gitlab-pypi download my-package

# Download a specific version
gitlab-pypi download my-package==1.2.3

# Download all versions of a package
gitlab-pypi download my-package --all

# Upload one or more wheels
gitlab-pypi upload dist/my_package-1.0.0-py3-none-any.whl
gitlab-pypi upload dist/*.whl

# Delete a specific version
gitlab-pypi delete my-package==1.0.0
```

## Development

```bash
make dev        # Create dev environment
make check      # Run ruff + pyright
make format     # Auto-fix and format code
make build      # Build wheel + docs
make docs       # Build HTML documentation
```

## Licence

MIT License — Copyright (c) 2026 Cyber Assessment Labs
unitforge 0.3.7
A library for unit and quantity consistent computations in Rust
Requires Python: >=3.7
Keywords: units, quantities, simulation, physics

# Unitforge

**Unitforge** is a Python library for working with physical quantities that respect units, dimensional analysis, and arithmetic correctness — powered by high-performance Rust under the hood.

Built for scientific computing, simulation, and engineering workflows where unit safety is non-negotiable.

---

## Features

- **Strong unit enforcement**: Prevent unit mismatch bugs at runtime.
- **Arithmetic support**: Add, subtract, multiply, and divide quantities with automatic unit resolution.
- **Unit conversion**: Convert between compatible units on the fly.
- **Scientific formatting**: Values display with 4 significant digits and the configured unit.
- **3D Vectors & Matrices**: Perform vector/matrix math with quantities and units.
- **NumPy integration**: Convert to/from NumPy arrays easily.
- **Constants**: Built-in constants like the speed of light.
- **Serialization-ready**: Optional serde-based serialization support (if compiled with feature).

---

## Installation

```bash
pip install unitforge
```

---

## Example Usage

```python
from unitforge import Force, ForceUnit, Distance, DistanceUnit

f = Force(12.0, ForceUnit.N)
print(f.to(ForceUnit.mN))  # → 12000.0

d = Distance(2.0, DistanceUnit.m)
work = f * d
print(work)  # → 24 Nm
```

### Unit Conversion

```python
f = Force(1.0, ForceUnit.N)
print(f.to(ForceUnit.kN))  # → 0.001
```

### Arithmetic

```python
f1 = Force(5.0, ForceUnit.N)
f2 = Force(3.0, ForceUnit.N)
f_sum = f1 + f2
print(f_sum.to(ForceUnit.N))  # → 8.0
```

---

## Vector and Matrix Support

```python
from unitforge import Vector3, Distance, DistanceUnit

v = Vector3.from_list([
    Distance(3., DistanceUnit.m),
    Distance(4., DistanceUnit.m),
    Distance(12., DistanceUnit.m)
])

print(v.norm())  # → 13.0 m
```

---

## NumPy Interoperability

```python
import numpy as np
from unitforge import Vector3, ForceUnit

arr = np.array([1.0, 2.0, 3.0])
vec = Vector3.from_array(arr, ForceUnit.N)
arr_back = vec.to_array(ForceUnit.N)

print(arr_back)  # → [1. 2. 3.]
```

---

## Quantities Available

Examples include:

- `Acceleration`, `AreaOfMoment`, `Density`, `Stiffness`, `Time`, `Volume`, `Angle`, `Area`, `Distance`, `ForcePerVolume`, `Strain`, `Velocity`, `AngularAcceleration`, `Charge`, `ForceArea`, `Force`, `Stress`, `VelocitySquared`, `AngularVelocity`, `Compliance`, `ForceDistance`, `ForceVolume`, `Mass`, `Voltage`
- Each with associated unit enums (e.g., `ForceUnit`, `DistanceUnit`, ...)

---

```python
from math import isclose
from unitforge import Force, ForceUnit

f = Force(12., ForceUnit.N)
assert isclose((f * 2).to(ForceUnit.N), 24.)
```

---

## Contributing

Contributions are welcome! While the core is implemented in Rust, Python usage feedback, bug reports, and API improvements are highly valued.

---

## Repository

[GitLab – Unitforge Crate](https://gitlab.com/henrikjstromberg/unitforge)