semvec/pypi-packages huggingface dataset:
npc-sync 0.2.1
Repackaging of AllenSDK.SyncDataset with extra functionality, compatible with data in the cloud.
License: MIT
Requires Python: >=3.9

# npc_sync

Repackaging of `AllenSDK.SyncDataset` with extra functionality, compatible with data in the cloud.

[![PyPI](https://img.shields.io/pypi/v/npc_sync.svg?label=PyPI&color=blue)](https://pypi.org/project/npc_sync/)
[![Python version](https://img.shields.io/pypi/pyversions/npc_sync)](https://pypi.org/project/npc_sync/)

[![Coverage](https://img.shields.io/codecov/c/github/AllenInstitute/npc_sync?logo=codecov)](https://app.codecov.io/github/AllenInstitute/npc_sync)
[![CI/CD](https://img.shields.io/github/actions/workflow/status/AllenInstitute/npc_sync/publish.yml?label=CI/CD&logo=github)](https://github.com/AllenInstitute/npc_sync/actions/workflows/publish.yml)
[![GitHub issues](https://img.shields.io/github/issues/AllenInstitute/npc_sync?logo=github)](https://github.com/AllenInstitute/npc_sync/issues)

# Usage
```bash
conda create -n npc_sync python>=3.9
conda activate npc_sync
pip install npc_sync
```
## Python
```python
>>> import npc_sync

>>> d = npc_sync.SyncDataset('s3://aind-ephys-data/ecephys_676909_2023-12-14_12-43-11/behavior_videos/20231214T124311.h5')
>>> d.line_labels[0]
'barcode_ephys'
>>> d.validate(opto=True, audio=True)

# note: some methods from the original `SyncDataset` are now property getters, including `line_labels`
```

# Development
See instructions in https://github.com/AllenInstitute/npc_sync/CONTRIBUTING.md and the original template: https://github.com/AllenInstitute/copier-pdm-npc/blob/main/README.md
ai-research 0.1.4
Python SDK for the AIR Backend API
License: MIT
Requires Python: >=3.10

# AIR SDK

Python SDK for the AIR Backend API.

## Installation

```bash
pip install air-sdk
```

## Quick Start

```python
import air

client = air.AIR(api_key="air_k1_...", base_url="http://localhost:8000")

# Standalone tools
keywords = client.keywords("dark matter and lensing", n=5, kw_type="aas")
enhanced = client.enhance("My research with https://arxiv.org/abs/2301.12345")

# Full research workflow
project = client.create_project("my-research", data_description="We study...")
idea = project.idea()
project.literature()
project.methods()
project.paper(journal="AAS")
review = project.review()

# File access
print(project.get_file("Iteration0/input_files/idea.md"))
print(project.list_files())
```

## Configuration

Set `AIR_API_KEY` and optionally `AIR_BASE_URL` as environment variables, or pass them directly:

```python
client = air.AIR(api_key="air_k1_...", base_url="https://api.example.com")
```

## API Reference

### `AIR` class

| Method | Description |
|--------|-------------|
| `keywords(text, n=5, kw_type="unesco")` | Extract keywords |
| `arxiv(text)` | Download arXiv papers from URLs in text |
| `enhance(text, max_workers=2, max_depth=10)` | Enhance text with arXiv context |
| `ocr(file_path)` | Process PDF with OCR (server path) |
| `create_project(name, data_description, iteration)` | Create a project |
| `get_project(name)` | Get existing project |
| `list_projects()` | List all projects |
| `delete_project(name)` | Delete a project |

### `Project` class

| Method | Description |
|--------|-------------|
| `idea(mode="fast", timeout=600)` | Generate research idea |
| `literature(timeout=600)` | Run literature search |
| `methods(mode="fast", timeout=600)` | Develop methods |
| `paper(journal="NONE", timeout=900)` | Write paper |
| `review(timeout=600)` | Run review |
| `get_file(path)` | Read a project file |
| `list_files()` | List all project files |
| `write_file(path, content)` | Write a file |
| `delete()` | Delete the project |