semvec/pypi-packages huggingface dataset:
eotdl 2026.2.11
Earth Observation Training Data Lab
Requires Python: >=3.12

<p align="center">
  <a href="https://www.eotdl.com/">
    <img src="https://raw.githubusercontent.com/earthpulse/eotdl/main/eotdl/eotdl.png" alt="EOTDL" style="width: 75%;"/>
  </a>
</p>

<p align="center">Explore, download, create and share your own Training Datasets and Machine Learning models for Earth Observation</p>
<p align="center"><a href="https://www.eotdl.com/">Website</a> · <a href="https://www.eotdl.com/docs">Documentation</a> · <a href="https://www.eotdl.com/datasets">Datasets</a> · <a href="https://www.eotdl.com/blog">Blog</a></p>

<p align="center">
    <a href="https://pypi.python.org/pypi/eotdl">
        <img src="https://img.shields.io/pypi/v/eotdl.svg" alt="NPM Version" />
    </a>
</p>

This is the main library and CLI for the **Earth Observation Training Data Lab** (EOTDL), a complete environment that allows you, among other things, to:

- Explore and stage Training Datasets (TDS) for Earth Observation (EO) applications.
- Create and upload your own TDS by combining and annotating EO data from different sources.
- Train Machine Learning (ML) models using the hosted TDS in the cloud with multi-GPU machines.
- Explore and stage pre-trianed ML models for EO applications.

In our blog you will find tutorials to learn how leverage the EOTDL to create and use TDS and ML models for your own EO applications.

## Why EOTDL?

One of the most limiting factors of AI for EO applications is the scarcity of suitable and accessible Training Datasets (TDS). As the name suggests, TDS are used to train an AI model to perform a specific task. Currently, the main barrier is that gathering and labelling EO data is a convoluted process. Some techniques exist that can help alleviate this issue, for example transfer learning or unsupervised learning, but annotated data is always required for fine-tuning and final validation of AI models.

Generating TDS is time consuming and expensive. Data access is usually limited and costly, especially for Very High Resolution (VHR) images that allow objects like trees to be clearly identified. In some cases, domain experts or even in-person (in-situ) trips are required to manually confirm the objects in a satellite image are correctly annotated with a high degree of quality. This results in the field of AI for EO applications lagging when compared to other fields, impeding the development of new applications and limiting the full potential of AI in EO.

Earth Observation Training Data Lab (EOTDL) will address key limitations and capability gaps for working with Machine Learning (ML) training data in EO by providing a set of open-source tools to create, share, and improve datasets as well as training ML algorithms in the cloud. EOTDL will also offer an online repository where datasets and models can be explored and accessed.
plotlylogomaker 0.1.0
A python project for making logos in plotly.
Requires Python: <3.15,>=3.11

![Title](https://raw.githubusercontent.com/jday1/plotlylogomaker/main/docs/title_logo.svg)

A python project for making logos in plotly similar to [logomaker](https://github.com/jbkinney/logomaker/tree/master/logomaker).
plotlylogomaker is inspired by the work of [Kevin Kovalchik](https://github.com/kevinkovalchik/Plotly-Logo).
 
## Example

<details open>
<summary><strong>Code</strong></summary>

```python
from pathlib import Path

import numpy as np
import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots

from plotlylogomaker.color import DMS_COLOR_SCHEME
from plotlylogomaker.logo import Logo, add_logo

AMINO_ACIDS = (
    "A",
    "C",
    "D",
    "E",
    "F",
    "G",
    "H",
    "I",
    "K",
    "L",
    "M",
    "N",
    "P",
    "Q",
    "R",
    "S",
    "T",
    "V",
    "W",
    "Y",
)
PLOTLYLOGOMAKER_PATH = Path("docs")

np.random.seed(42)


def mock_logo(positions: int, legend: bool, adjustment: float = 0.0) -> Logo:
    """Mock function to create a logo with a specified number of positions."""
    raw = np.random.rand(20, positions)
    frequencies = pd.DataFrame(raw, index=AMINO_ACIDS)
    normalized = frequencies.div(frequencies.sum(axis=0), axis=1).T
    normalized = normalized - adjustment
    return Logo(df=normalized, legend=legend, color_scheme=DMS_COLOR_SCHEME, hover=True)


logo1 = mock_logo(8, legend=True)
logo2 = mock_logo(6, legend=False)
logo3 = mock_logo(5, legend=True, adjustment=0.05)

# single plot figure
fig: go.Figure = go.Figure()
add_logo(logo1, fig)
fig.update_layout(height=800)
fig.write_image(PLOTLYLOGOMAKER_PATH / "single_plot_example.svg")


# 1x2 subplot figure
fig = make_subplots(rows=1, cols=2, vertical_spacing=0.15, horizontal_spacing=0.05)
add_logo(logo1, fig, row=1, col=1)
add_logo(logo2, fig, row=1, col=2)
fig.update_layout(height=800)
fig.write_image(PLOTLYLOGOMAKER_PATH / "subplot_example.svg")

# single plot figure illustrating negative values.
fig = go.Figure()
add_logo(logo3, fig)
fig.update_layout(height=800)
fig.write_image(PLOTLYLOGOMAKER_PATH / "singleplot_negative_frequencies.svg")
```
</details>

<details>
<summary><strong>Single Plot Logo example</strong></summary>

![Single Plot Logo example](https://raw.githubusercontent.com/jday1/plotlylogomaker/main/docs/single_plot_example.svg)
</details>
<details>
<summary><strong>Subplot Logo example</strong></summary>

![Subplot Logo example](https://raw.githubusercontent.com/jday1/plotlylogomaker/main/docs/subplot_example.svg)
</details>
<details>
<summary><strong>Single Plot Logo with negative frequencies example</strong></summary>

![Single Plot Logo with negative frequencies example](https://raw.githubusercontent.com/jday1/plotlylogomaker/main/docs/singleplot_negative_frequencies.svg)
</details>

## Color Schemes

Three color schemes are defined in plotlylogomaker.color:

- [DMS](https://jbloomlab.github.io/dms_tools2/prefs.html)
- Chemical Groups
- Nucleotides

Users can define custom color schemes via the plotlylogomaker.color.ColorScheme class, where alphabet letters serve as the keys.
video-summary-a3b2c1 0.1.0
A pipeline for extracting summaries from videos using audio and visual context.
Requires Python: >=3.9

# Video Summary

A Python package for extracting comprehensive summaries from videos using both audio (transcription) and visual (keyframe description) context.

## Features

- **Audio Transcription**: Uses `faster-whisper` for efficient and accurate transcription.
- **Visual Context**: Extracts keyframes from important segments and describes them using GPT-4o Vision.
- **Intelligent Synthesis**: Combines audio and visual descriptions into a final, coherent summary.
- **Modular Design**: Easy to integrate into any Python project.

## Installation

```bash
pip install video_summary
```

_Note: Requires `ffmpeg` to be installed on your system._

## Quick Start

```python
import asyncio
from video_summary import VideoSummaryPipeline

async def main():
    # Initialize the pipeline
    pipeline = VideoSummaryPipeline()

    # Run on a video file
    summary = await pipeline.run("path/to/your/video.mp4")

    print("Video Summary:")
    print(summary)

if __name__ == "__main__":
    asyncio.run(main())
```

## Configuration

The package relies on OpenAI or Azure OpenAI for LLM-based analysis. Set the following environment variables:

- `OPENAI_API_KEY`: Your OpenAI API key.
- _Optional (for Azure)_: `AZURE_OPENAI_API_KEY`, `AZURE_OPENAI_ENDPOINT`, `AZURE_DEPLOYMENT_NAME`.

## Requirements

- Python 3.9+
- ffmpeg
- OpenCV
- faster-whisper
- LangChain
acceldata-airflow-sdk 26.2.1
Acceldata Airflow SDK
Requires Python: >=3.8

# ACCELDATA-AIRFLOW-SDK

Acceldata Airflow SDK provides support for observability of airflow dags in [ADOC](https://docs.acceldata.io/documentation/adoc-architecture-an-overview).

Refer to the [documentation](https://docs.acceldata.io/documentation/airflow) for details.
---

## Changelog

<!-- BEGIN CHANGELOG -->

Version Log
========================

26.2.1 (10/02/2026)
------------------
- Released **acceldata_airflow_sdk** version 26.2.1.
- Provides Airflow operators, decorators, and utilities for ADOC integration.

<!-- END CHANGELOG -->
acceldata-sdk 26.2.1
Acceldata SDK
Requires Python: >=3.7
Keywords: acceldata-sdk

# acceldata SDK

Acceldata SDK for instrumenting support in [ADOC](https://docs.acceldata.io/documentation/adoc-architecture-an-overview).

Refer to the [documentation](https://docs.acceldata.io/documentation/python) for details.
---

## Changelog

<!-- BEGIN CHANGELOG -->

Version Log
========================

26.2.1 (10/02/2026)
------------------
- Released **acceldata_sdk** version 26.2.1.
- Includes improvements and fixes for core SDK functionality.

<!-- END CHANGELOG -->
iflow-mcp_jordansucher-musescore 0.1.0
MCP server for MuseScore integration with LLM clients
Requires Python: >=3.9

# MuseScore MCP Server

This MCP (Model Context Protocol) server integrates MuseScore with LLM clients like Claude Desktop, enabling basic music composition through natural language.

Brief demo here: https://www.canva.com/design/DAGlHeR706g/4UcXvK23I1axWOfm6lSSxQ/edit

## Features

The server allows an MCP-connected LLM to:

- Connect to MuseScore and manipulate an open score
- Add notes and rests
- Select and delete
- Create tuplets
- Undo a change
- Move from staff to staff

## Limitations

- Can not understand multiple voices within a staff or navigate between them

## Requirements

- Python 3.9+
- MuseScore 3 or 4 installed
- MCP Python SDK

## Installation

1. Clone this repository:
   ```
   git clone https://github.com/yourusername/musescore-mcp-server.git
   cd musescore-mcp-server
   ```

2. Install dependencies, either in a venv or globally:
   ```
   pip install -r requirements.txt
   ```

3. Install the musescore-mcp-plugin by copying it into your MuseScore plugins dir (on my mac this was ~/Documents/MuseScore4/plugins)

4. Configure your LLM with the MCP server (server.py). If you are using Claude Desktop and a venv, this can be done by creating a claude_desktop_config file like so:
   ```json
   {
    "mcpServers": {
      "musescore": {
        "command": "bash",
        "args": [
          "-c",
          "source /path/to/venv/activate && python3 /path/to/server.py"
        ]
      }
    }
   ```
   
## Usage

### Prepare MuseScore

Open musescore and whatever score you want to use. Then, connect the musescore-mcp-plugin and launch it by selecting it from the plugins menu.

### Example Queries

Once connected, you can ask Claude questions like:

- "Help me come up with some possible chords for the melody in my score
- Compose a simple melody and show me 4 ways to harmonize it
- Extend the melody in measures 1-12 with 4 measures that match the style of this piece

## Development

If you want to add features to the MuseScore plugin and test them, the testClient.html file in this repo may be a useful development tool - simply extend it to call whatever functions you add.