Skip to content

A unified Python interface for working with cloud and network storage providers such as Yandex Disk, Google Drive, S3-compatible storage, and local or NAS filesystems.

License

Notifications You must be signed in to change notification settings

omigutin/neuro_cloud_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neuro Cloud API

Python библиотека для работы с облачными хранилищами данных (Яндекс.Диск, Google Drive, S3).

Установка

Требования

  • Python 3.9+
  • Poetry (для управления зависимостями)

Установка Poetry

Если у вас еще не установлен Poetry:

# Linux/macOS
curl -sSL https://install.python-poetry.org | python3 -

# Windows (PowerShell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

Или через pip:

pip install poetry

Установка проекта

  1. Клонируйте репозиторий:
git clone <repository-url>
cd yadisk_api
  1. Установите зависимости через Poetry:
poetry install
  1. Активируйте виртуальное окружение:
poetry shell

Или запускайте команды через Poetry:

poetry run python run.py

Настройка

Создайте файл .env в корне проекта:

YADISK_TOKEN=your_yandex_disk_token_here

Использование

Базовый пример (синхронно)

import os
from dotenv import load_dotenv
from src.neuro_cloud_api import YadiskSource

load_dotenv()
source = YadiskSource(token=os.getenv('YADISK_TOKEN'))

if source.connect():
    dirs = source.list_directories("/")
    source.upload_file("local_file.txt", "/remote_file.txt")
    source.disconnect()

Асинхронный пример

import os
import asyncio
from dotenv import load_dotenv
from src.neuro_cloud_api import AsyncYadiskSource

load_dotenv()

async def main():
    source = AsyncYadiskSource(token=os.getenv('YADISK_TOKEN'))
    await source.connect()
    dirs = await source.list_directories("/")
    await source.disconnect()

asyncio.run(main())

Запуск примеров

# Синхронный пример
poetry run python run.py

# Асинхронный пример
poetry run python run_async.py

Разработка

Установка зависимостей для разработки

poetry install --with dev

Запуск тестов

poetry run pytest

Форматирование кода

poetry run black src/

Проверка типов

poetry run mypy src/

Линтинг

poetry run flake8 src/

Структура проекта

yadisk_api/
├── src/
│   └── neuro_cloud_api/      # Основной пакет
│       ├── sources/           # Реализации источников
│       └── settings/          # Конфигурация
├── run.py                     # Пример синхронного использования
├── run_async.py              # Пример асинхронного использования
├── pyproject.toml            # Конфигурация Poetry
└── DOCUMENTATION.md          # Полная документация

Зависимости

  • yadisk - библиотека для работы с Яндекс.Диском
  • python-dotenv - загрузка переменных окружения

Документация

Полная документация доступна в файле DOCUMENTATION.md.

Лицензия

См. файл LICENSE.

About

A unified Python interface for working with cloud and network storage providers such as Yandex Disk, Google Drive, S3-compatible storage, and local or NAS filesystems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages