Skip to main content

Библиотека на языке Python, которая позволяет взаимодействовать с сервером администрирования 1С через утилиту RAC, предоставляя соответствующие сущности.

Project description

raclib

Библиотека на языке Python, которая позволяет взаимодействовать с сервером администрирования 1С через утилиту RAC, предоставляя соответствующие сущности.

Установка

# Установка master ветки репозитория
pip install git+https://github.com/bqio/raclib.git

API

https://bqio.github.io/raclib/

Примеры

Получение списка кластеров.

import raclib as rc

client = rc.Client("/opt/1cv8/x86_64/<version>/rac")
session = rc.Session(client)

print(rc.Cluster.list(session))

Получение списка информационных баз кластера.

import raclib as rc

client = rc.Client("/opt/1cv8/x86_64/<version>/rac")
session = rc.Session(client)
cluster = rc.Cluster.list(session)[0]["cluster"]

print(rc.Infobase.Summary.list(session, cluster))

Создание информационной базы.

import raclib as rc

client = rc.Client("/opt/1cv8/x86_64/<version>/rac")
session = rc.Session(client)
cluster = rc.Cluster.list(session)[0]["cluster"]

infobase = rc.Infobase.create(
    session, cluster, "Тестовая база", "PostgreSQL", "localhost", "TestIB", "ru_RU"
)

print(infobase)

Пример async реализации [В разработке].

from raclib.asynchronous.client import AsyncClient
from raclib.asynchronous.session import AsyncSession
from raclib.asynchronous.cmd.cluster import AsyncCluster

import os
import asyncio

client = AsyncClient(os.environ.get("RAC_PATH"))

session1 = AsyncSession(client, "server1")
session2 = AsyncSession(client, "server2")
session3 = AsyncSession(client, "server3")
session4 = AsyncSession(client, "server4")
session5 = AsyncSession(client, "server5")


async def main():
    tasks = (
        AsyncCluster.list(session1),
        AsyncCluster.list(session2),
        AsyncCluster.list(session3),
        AsyncCluster.list(session4),
        AsyncCluster.list(session5),
    )

    results = await asyncio.gather(*tasks)

    for result in results:
        print(result)


if __name__ == "__main__":
    asyncio.run(main()) # в 3 раза быстрее sync

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

raclib-1.0.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

raclib-1.0.0-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file raclib-1.0.0.tar.gz.

File metadata

  • Download URL: raclib-1.0.0.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for raclib-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f7a02cdfc94c16e08562e768a0203bdd7d1a78b38f2b2887e5a699f10df8cd0a
MD5 50ed5b8de73bad51f6c94c18f98f1d18
BLAKE2b-256 456f5e02eeee7e3f478249be9cca7b03c783fffe38bccaa4b2415a220967d083

See more details on using hashes here.

Provenance

The following attestation bundles were made for raclib-1.0.0.tar.gz:

Publisher: publish.yml on bqio/raclib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raclib-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: raclib-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for raclib-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94f6f257131ef52955512f46c0c6374811f87040891bff24129856308c4df577
MD5 04904f710411d3c49431d2ed7ff01b14
BLAKE2b-256 e94ebb783f3b413f4b45be0332a6e890a413a9bf3645034d7e7f30c8f846f7a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for raclib-1.0.0-py3-none-any.whl:

Publisher: publish.yml on bqio/raclib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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