Skip to main content

Упрощенные клиенты для OpenIDE с разными уровнями простоты синтаксиса

Project description

PyOpenIDE Client

Коллекция упрощенных клиентов для OpenIDE с разными уровнями простоты синтаксиса.

🚀 Установка

pip install pyopenide-client

📖 Быстрый старт

Ультра-простой синтаксис (рекомендуется)

from pyopenide_client import *

# Создание файла
file_create("test.py", "print('Hello OpenIDE!')")

# Чтение файла
content = file_read("test.py")
print(content)

# Запуск Python кода
result = py("print('Hello from OpenIDE!')")
print(result)

# Системные команды
print(pwd())  # Текущая директория
print(whoami())  # Пользователь
print(date())  # Дата и время
print(ps())  # Процессы

Простой клиент

from pyopenide_client import SimpleOpenIDE

# Создание клиента
ide = SimpleOpenIDE()

# Работа с файлами
ide.file_create("app.py", "print('Hello World!')")
content = ide.file_read("app.py")
print(content)

# Создание папок
ide.folder_create("myproject")
ide.folder_open("myproject")

# Виртуальные окружения
ide.venv_create("myenv")
ide.venv_activate()
ide.pip_install("requests")

# Запуск кода
result = ide.run_python("app.py")
print(result)

Магический клиент

from pyopenide_client import ide

# Магические методы
ide.file.create("script.py", "print('Magic!')")
ide.folder.create("project")
ide.venv.create("env")
ide.pip.install("flask")

# Запуск
result = ide.run.python("script.py")
print(result)

Декораторный клиент

from pyopenide_client import openide, python, shell, run

# Декораторы
@openide
def my_function():
    return "Hello from OpenIDE!"

@python
def calculate(x, y):
    return x + y

@shell
def system_info():
    return "uname -a"

# Использование
result1 = my_function()
result2 = calculate(5, 3)
result3 = system_info()

🎯 Уровни синтаксиса

1. Ультра-простой (Ultra Simple)

from pyopenide_client import *

# Файлы
file_create("test.txt", "Hello!")
content = file_read("test.txt")
file_delete("test.txt")

# Папки
folder_create("mydir")
folder_list()
folder_delete("mydir")

# Python
result = py("print('Hello!')")
result = run_python("script.py")

# Система
print(pwd())
print(whoami())
print(date())
print(ps())

2. Простой (Simple)

from pyopenide_client import SimpleOpenIDE

ide = SimpleOpenIDE()

# Файлы
ide.file_create("app.py", "print('Hello!')")
ide.file_read("app.py")
ide.file_delete("app.py")

# Папки
ide.folder_create("project")
ide.folder_list()
ide.folder_delete("project")

# Python
ide.run_python("script.py")
ide.pip_install("requests")

3. Магический (Magic)

from pyopenide_client import ide

# Магические атрибуты
ide.file.create("test.py", "print('Magic!')")
ide.folder.create("project")
ide.venv.create("env")
ide.pip.install("flask")
ide.run.python("test.py")

4. Декораторный (Decorator)

from pyopenide_client import openide, python, shell

@openide
def my_task():
    return "Task completed!"

@python
def math_calc(x, y):
    return x * y

@shell
def get_info():
    return "ls -la"

🔧 API Reference

Глобальные функции

Файлы

  • file_create(name, content) - Создать файл
  • file_read(name) - Читать файл
  • file_delete(name) - Удалить файл
  • file_rename(old, new) - Переименовать файл
  • file_copy(source, target) - Копировать файл
  • file_move(source, target) - Переместить файл
  • file_info(name) - Информация о файле

Папки

  • folder_create(name) - Создать папку
  • folder_open(name) - Открыть папку
  • folder_delete(name) - Удалить папку
  • folder_rename(old, new) - Переименовать папку
  • folder_copy(source, target) - Копировать папку
  • folder_move(source, target) - Переместить папку
  • folder_list(name) - Список файлов
  • ls(path) - Алиас для folder_list

Виртуальные окружения

  • venv_create(name) - Создать venv
  • venv_activate() - Активировать venv
  • venv_deactivate() - Деактивировать venv
  • venv_list() - Список venv
  • venv_remove(name) - Удалить venv

Python пакеты

  • pip_install(package) - Установить пакет
  • pip_uninstall(package) - Удалить пакет
  • pip_list() - Список пакетов

Запуск кода

  • py(code) - Выполнить Python код
  • sh(command) - Выполнить shell команду
  • run_python(script) - Запустить Python скрипт
  • run_shell(command) - Запустить shell команду

Системные команды

  • pwd() - Текущая директория
  • whoami() - Текущий пользователь
  • date() - Дата и время
  • uptime() - Время работы системы
  • ps() - Процессы
  • free() - Использование памяти
  • df() - Использование диска
  • uname() - Информация о системе

📝 Примеры проектов

Создание веб-приложения

from pyopenide_client import *

# Создание проекта
folder_create("webapp")
folder_open("webapp")

# Создание файлов
file_create("app.py", """
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello OpenIDE!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
""")

file_create("requirements.txt", "flask==2.3.0")

# Создание виртуального окружения
venv_create("venv")
venv_activate()

# Установка зависимостей
pip_install("flask")

# Запуск приложения
result = run_python("app.py")
print(result)

Анализ данных

from pyopenide_client import *

# Создание проекта
folder_create("data_analysis")
folder_open("data_analysis")

# Создание скрипта
file_create("analyze.py", """
import pandas as pd
import numpy as np

# Создание данных
data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)

print("Данные:")
print(df)
print(f"Среднее y: {df['y'].mean()}")
""")

# Установка пакетов
venv_create("data_env")
venv_activate()
pip_install("pandas numpy")

# Запуск анализа
result = run_python("analyze.py")
print(result)

Тестирование API

from pyopenide_client import *

# Создание тестов
file_create("test_api.py", """
import requests
import json

def test_api():
    try:
        response = requests.get('https://api.github.com/users/octocat')
        data = response.json()
        print(f"Пользователь: {data['login']}")
        print(f"Репозитории: {data['public_repos']}")
        return True
    except Exception as e:
        print(f"Ошибка: {e}")
        return False

if __name__ == '__main__':
    test_api()
""")

# Установка зависимостей
venv_create("test_env")
venv_activate()
pip_install("requests")

# Запуск тестов
result = run_python("test_api.py")
print(result)

🔧 Конфигурация

Настройка OpenIDE

from pyopenide_client import *

# Проверка доступности global_openide
if check_global_openide():
    print("global_openide доступен!")
else:
    print("global_openide не установлен")

# Информация о пакете
info = get_info()
print(f"Версия: {info['version']}")
print(f"Доступные клиенты: {info['clients']}")

🐛 Обработка ошибок

from pyopenide_client import *

try:
    # Попытка создать файл
    file_create("test.txt", "Hello!")
    print("Файл создан успешно")
except Exception as e:
    print(f"Ошибка при создании файла: {e}")

try:
    # Попытка запустить код
    result = py("print('Hello OpenIDE!')")
    print(f"Результат: {result}")
except Exception as e:
    print(f"Ошибка при выполнении кода: {e}")

📚 Дополнительные ресурсы

🤝 Поддержка

Если у вас есть вопросы или проблемы:

  1. Создайте issue на GitHub
  2. Напишите на email: artemjson@gmail.com
  3. Проверьте документацию

📄 Лицензия

MIT License - см. файл LICENSE для подробностей.


Выберите свой уровень синтаксиса и начните кодить с OpenIDE! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyopenide_client-1.1.2.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyopenide_client-1.1.2-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file pyopenide_client-1.1.2.tar.gz.

File metadata

  • Download URL: pyopenide_client-1.1.2.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for pyopenide_client-1.1.2.tar.gz
Algorithm Hash digest
SHA256 b4fdbc5f1b0117efce387a900e5c8d3fedda0249fed06d183ad5445283f6c922
MD5 9a8253d62320c962548039fba02db1e2
BLAKE2b-256 71f3887564968f3c846b31b2ae5d5f24c0d0d8be2a20423ce3ff8d6014d2b82f

See more details on using hashes here.

File details

Details for the file pyopenide_client-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pyopenide_client-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 68ea3097b09b2ebddfbe826c3c2c1107c1999da657b7ce48555031426f39dc89
MD5 3847602d71db0dbf62e45db41e1a47a1
BLAKE2b-256 81febdee08403ab108ec017a14e8aa79136670134196e6162ac5482d45a4ace4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page