semvec/pypi-packages huggingface dataset:
gaitkit 1.2.4
Universal gait event detection toolkit — 10 methods including BIKE, with C-accelerated backends
Requires Python: >=3.10
Keywords: gait, biomechanics, motion-capture, heel-strike, toe-off, event-detection

# gaitkit (Python)

Python package for gait event detection from motion-capture data.

## Install

Current status: PyPI release available (latest stable on PyPI).

Install from local source:

```bash
python -m pip install -e ./python
python -m pip install -e "./python[all]"   # optional extras
```

Once published:

```bash
pip install gaitkit
```

Optional extras:

```bash
pip install "gaitkit[all]"   # onnx + deep + viz
```

## Quick Start

```python
import gaitkit

trial = gaitkit.load_example("healthy")
result = gaitkit.detect(trial, method="bike")
print(result.summary())

# Optional: combine C3D markers with an external angle file
result2 = gaitkit.detect("trial_07.c3d", method="bike", angles="res_angles_t.mat")
```

DeepEvent weights are downloaded automatically on first DeepEvent use and
cached in `~/.cache/gaitkit/`.

## Proprietary JSON I/O (MyoGait-like)

The compatibility API accepts a proprietary JSON payload with
`angles.frames` and can export back a MyoGait-compatible `events` JSON.

```python
import gaitkit

out = gaitkit.detect_events_structured("bike", "myogait_output_no_events.json", fps=100.0)
paths = gaitkit.export_detection(out, "outputs/trial_07", formats=("json", "myogait"))
print(paths)
```

Input fields recognized per frame:
- `frame_idx`
- `hip_L`, `knee_L`, `ankle_L`
- `hip_R`, `knee_R`, `ankle_R`
- `pelvis_tilt`, `trunk_angle`
- optional `landmark_positions`

MyoGait-compatible output file (`*_myogait_events.json`) contains:
- `events.method`
- `events.fps`
- `events.left_hs`, `events.right_hs`, `events.left_to`, `events.right_to`
  as arrays of `{frame, time, confidence}`.

## Project

- Repository: https://github.com/IDMDataHub/gaitkit
- Issue tracker: https://github.com/IDMDataHub/gaitkit/issues
- Reproducibility: https://github.com/IDMDataHub/gaitkit/blob/master/REPRODUCIBILITY.md

## Development testing

```bash
python -m pip install -e ./python
python -m unittest -v
```

## Build distributions

```bash
python -m pip install build
cd python
python -m build
```
mld-sdk 0.7.0
MLD Plugin SDK - Build analysis plugins for the MLD platform
Requires Python: >=3.12

# MLD SDK (Python)

SDK for building analysis plugins that integrate with the MLD platform.

> **Full Documentation:** See the [comprehensive docs](../../docs/index.md) for detailed API reference and guides.
> - [API Reference](../../docs/python/api-reference.md)
> - [Plugin Development Guide](../../docs/python/plugin-guide.md)
> - [Exception Handling](../../docs/python/exceptions.md)

## Installation

```bash
# From PyPI (when published)
uv add mld-sdk

# From git
uv add git+https://github.com/EstrellaXD/mld#subdirectory=sdk
```

## Quick Start

Create a plugin by implementing the `AnalysisPlugin` interface:

```python
from mld_sdk import AnalysisPlugin, PluginMetadata, PluginCapabilities
from fastapi import APIRouter

router = APIRouter()

@router.get("/hello")
async def hello():
    return {"message": "Hello from my plugin!"}

class MyPlugin(AnalysisPlugin):
    @property
    def metadata(self) -> PluginMetadata:
        return PluginMetadata(
            name="My Plugin",
            version="1.0.0",
            description="My analysis plugin",
            analysis_type="metabolomics",
            routes_prefix="/my-plugin",
            capabilities=PluginCapabilities(
                requires_auth=True,
                requires_experiments=True,
            ),
        )

    def get_routers(self):
        return [(router, "")]

    async def initialize(self, context=None):
        self._context = context

    async def shutdown(self):
        pass
```

## Plugin Package Structure

```
mld-plugin-example/
├── pyproject.toml
├── README.md
└── src/mld_plugin_example/
    ├── __init__.py
    └── plugin.py
```

### pyproject.toml

```toml
[project]
name = "mld-plugin-example"
version = "1.0.0"
dependencies = ["mld-sdk>=1.0.0"]

[project.entry-points."mld.plugins"]
example = "mld_plugin_example.plugin:MyPlugin"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/mld_plugin_example"]
```

The entry point `mld.plugins` is how the platform discovers your plugin.

## Platform Context

When running integrated with the platform, your plugin receives a `PlatformContext` that provides access to:

- Authentication dependencies (`get_current_user_dependency()`)
- Repositories for experiments, samples, users, etc.
- Platform configuration

```python
async def initialize(self, context=None):
    self._context = context
    if context:
        # Running integrated - use platform services
        self.experiment_repo = context.get_experiment_repository()
    else:
        # Running standalone
        pass
```

## Installation Commands

```bash
# Install from GitHub
uv add git+https://github.com/org/mld-plugin-example

# Install specific version
uv add git+https://github.com/org/mld-plugin-example@v1.0.0

# Install from PyPI
uv add mld-plugin-example

# Install local plugin for development
uv add --editable ./my-plugin
```
ccs-digitalmarketplace-apiclient 37.15.0
API clients for Digital Marketplace Data API and Search API.
Requires Python: <3.15,>=3.11

Digital Marketplace API client
=========================

![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)
![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg)
![Python 3.13](https://img.shields.io/badge/python-3.13-blue.svg)
![Python 3.14](https://img.shields.io/badge/python-3.14-blue.svg)
[![PyPI version](https://badge.fury.io/py/ccs-digitalmarketplace-apiclient.svg)](https://badge.fury.io/py/ccs-digitalmarketplace-apiclient)

## What's in here?

API clients for Digital Marketplace [Data API](https://github.com/Crown-Commercial-Service/ccs-digitalmarketplace-api) and
[Search API](https://github.com/Crown-Commercial-Service/ccs-digitalmarketplace-search-api).

Originally was part of [Digital Marketplace Utils](https://github.com/Crown-Commercial-Service/ccs-digitalmarketplace-utils).


## Running the tests

Install Python dependencies:

```
make bootstrap
invoke requirements-dev
```

Run the tests:

```
invoke test
```

## Usage examples

```python

data_client = apiclient.DataAPIClient(api_url, api_access_token)
services = data_client.find_services_iter(framework=frameworks)

```

## Releasing a new version

To update the package version, edit the `__version__ = ...` string in `dmapiclient/__init__.py`,
commit and push the change and wait for CI to create a new version tag.

Once the tag is available on GitHub, the new version can be used by the apps by adding the following
line to the app `requirements.txt` (replacing `X.Y.Z` with the current version number):

```
git+https://github.com/Crown-Commercial-Service/ccs-digitalmarketplace-apiclient.git@X.Y.Z#egg=ccs-digitalmarketplace-apiclient==X.Y.Z
```

When changing a major version number consider adding a record to the `CHANGELOG.md` with a
description of the change and an example of the upgrade process for the client apps.

## Pre-commit hooks

This project has a [pre-commit hook][pre-commit hook] to do some general file checks and check the `pyproject.toml`.
Follow the [Quick start][pre-commit quick start] to see how to set this up in your local checkout of this project.

## Licence

Unless stated otherwise, the codebase is released under [the MIT License][mit].
This covers both the codebase and any sample code in the documentation.

The documentation is [&copy; Crown copyright][copyright] and available under the terms
of the [Open Government 3.0][ogl] licence.

[mit]: LICENCE
[copyright]: http://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/
[ogl]: http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/

[pre-commit hook]: https://pre-commit.com/
[pre-commit quick start]: https://pre-commit.com/#quick-start