Вся документация

Библиотека A4 для Python

Пакет a4office открывает, правит, пересчитывает и сохраняет книги Excel, читает документы Word и добавляет слайды в презентации — прямо из программы на Python. Внутри пакета — ядра F1 (таблицы), A4 (документы) и P2 (презентации): ничего не компилируется при установке, не нужны ни Microsoft Office, ни LibreOffice. Файлы не покидают компьютер.

Что умеет

  • книги .xlsx, .xlsm, .xlsb, .xls, .ods, .csv: открыть, записать число, текст или формулу, пересчитать, прочитать значения и диапазоны, сохранить;
  • книга с макросами сохраняется целиком: проект VBA остаётся байт в байт прежним;
  • документы .docx: текст одной строкой кода;
  • презентации .pptx: открыть, добавить слайд, сохранить;
  • местный сервер MCP для Claude Desktop и Cursor — только файлы на вашем компьютере.

Установка

pip install a4office --find-links "https://dl.plantype.ru/a4office/release/2026.4.3/?noscript" --no-index

Пакет ставится с нашего сервера загрузок, а не из общего каталога PyPI. Каталог колёс — dl.plantype.ru/a4office/release/2026.4.3/; pip сам выберет колесо своей платформы. У пакета нет зависимостей, поэтому --no-index безопасен: в другие каталоги pip не обращается.

Колёса: macOS 11+ (Apple silicon и Intel), Linux x86-64 и aarch64 (glibc 2.28 и новее), Windows x64; Python 3.10 и новее. Каждое колесо меньше 48 МБ.

Первый результат за пять строк

Файлы для примеров: report.xlsm, budget.xlsm, model.xlsx, contract.docx, deck.pptx — или все сразу: curl -O https://tech.bazapp.ru/samples/report.xlsm -O https://tech.bazapp.ru/samples/budget.xlsm -O https://tech.bazapp.ru/samples/model.xlsx -O https://tech.bazapp.ru/samples/contract.docx -O https://tech.bazapp.ru/samples/deck.pptx (в Windows — curl.exe). Подойдут и свои файлы.

import a4office

wb = a4office.open("report.xlsm")
wb["Движение денег"]["B7"] = 42
wb.save("report-edited.xlsm")

Три примера

1. Изменить ячейку в книге с макросами

wb = a4office.open("budget.xlsm")
print(wb.sheet_names)                 # ('Движение денег', 'Итоги')
wb["Движение денег"]["B7"] = 42       # число, текст, None или "=B5*2"
wb.save("budget-edited.xlsm")         # vbaProject.bin остаётся прежним

2. Пересчитать и прочитать результат

wb = a4office.open("model.xlsx")
лист = wb["Итоги"]
лист["A1"] = 1200
лист["A2"] = "=A1*1.2"
wb.recalc()
print(лист["A2"])                     # 1440
print(лист.read("A1:B3"))             # значения диапазона
wb.save("model-edited.xlsx")

3. Текст документа и слайд в презентации

print(a4office.text("contract.docx"))

deck = a4office.open("deck.pptx")
deck.add_slide()
deck.save("deck-edited.pptx")

Claude Desktop и Cursor

В пакете есть местный сервер MCP. Он читает файлы только в домашнем каталоге (другие папки — переменная A4OFFICE_MCP_ROOTS) и никогда не перезаписывает исходный файл: правка возвращается копией.

{ "mcpServers": {
    "a4office": { "command": "/полный/путь/к/venv/bin/a4office-mcp" }
} }

Настольные программы не читают PATH оболочки: полный путь даст which a4office-mcp (в Windows — where a4office-mcp). В Claude Desktop: Settings → Developer → Edit Config, затем перезапуск. Инструменты: open_workbook, read_range, write_cells, recalc, save_copy, document_text.

Что бесплатно

Без ключаС ключом разработчика
Документов в сутки3010 000
Срокбез срока90 дней с выдачи
Когда квота кончиласьсразу ошибка LicenseQuotaError со ссылкой на этот раздел; без ожидания и без замедления

Квоту платят открытие и сохранение файла в любом из трёх ядер — книги, документы и презентации считаются вместе; правки внутри открытого файла, сколько бы ячеек вы ни меняли, не считаются. Чтобы получить ключ разработчика, напишите нам. Ключ положите в переменную A4OFFICE_LICENSE или путь к файлу ключа — в A4OFFICE_LICENSE_FILE.

Где считается: в файле ~/.layers/a4office-state.json, а если задана переменная A4OFFICE_STATE_DIR — в этом каталоге. Ключ ищется по порядку: переменная A4OFFICE_LICENSE, файл из A4OFFICE_LICENSE_FILE, файл ~/.layers/license.jws. Ключ в последнем действует на все запуски на этой машине, и бесплатные 30 тогда не считаются; проверить бесплатный режим на такой машине — направить A4OFFICE_LICENSE_FILE на пустой файл.

Чего нет

  • макросы VBA не исполняются — только сохраняются;
  • преобразования в PDF и картинок страниц в этом выпуске нет: convert() и preview() отвечают понятной ошибкой и не создают файла;
  • документы Word в коротком API только читаются; правка — через низкоуровневый Session;
  • шрифты в пакет не встроены: ядро A4 берёт системные.

Когда документы нужно показать людям

Библиотека создаёт и меняет файлы внутри вашей программы. Показать их людям и дать править — задача остальных изделий A4:

  • В браузере — Сервер A4. Файлы, которые создаёт ваша программа, открываются в редакторах A4, F1 и P2 (презентации) на сервере организации; правка возвращается новой версией. Сервер A4; подключение к 1С и Битрикс24.
  • На компьютере — настольные редакторы. A4, F1 и P2 для Windows, macOS и Linux. Скачать.
  • Из почты и учётных программ — A4 Office. Вложение или файл из 1С открывается в редакторе на компьютере и возвращается обратно. A4 Office на компьютере.
  • Внутри вашего продукта. Те же редакторы, встроенные в ваше приложение, — для партнёров: мобильный SDK; напишите нам.

Скачать

Пакет a4officeверсия 2026.4.3 · Python 3.10+ · пять платформ
Каталог колёс
ФайлРазмерПлатформа
a4office-2026.4.3-py3-none-macosx_11_0_arm64.whl42 762 471 байтmacOS 11+, Apple silicon
a4office-2026.4.3-py3-none-macosx_11_0_x86_64.whl45 649 290 байтmacOS 11+, Intel
a4office-2026.4.3-py3-none-manylinux_2_28_x86_64.whl47 910 328 байтLinux x86-64, glibc 2.28+
a4office-2026.4.3-py3-none-manylinux_2_28_aarch64.whl44 099 782 байтLinux aarch64, glibc 2.28+
a4office-2026.4.3-py3-none-win_amd64.whl47 799 626 байтWindows x64
SHA256SUMS577 байтконтрольные суммы колёс

Контрольные суммы

6d638169cfefb5ee28bf4c8698fd12b08e23541339cf82af66c03b6dec5eee4c  a4office-2026.4.3-py3-none-manylinux_2_28_aarch64.whl
684742b1b50b57774a9c73da5493111f3b8fd412c67e15b0253c447529bbaca4  a4office-2026.4.3-py3-none-manylinux_2_28_x86_64.whl
b3074cb3c1a4949ddf030d037ea288bc6591c508c7804d2f5e3d3b1a5f983092  a4office-2026.4.3-py3-none-macosx_11_0_arm64.whl
16d7b113668fa0e439ff0171e5fa2e99af9ab2313cb92f2e84c85825ccfba3f2  a4office-2026.4.3-py3-none-macosx_11_0_x86_64.whl
7eaee58e6e1be4473d713d6a2db2d1d0262bfda5499a8b6a001327d25f4034e3  a4office-2026.4.3-py3-none-win_amd64.whl

Проверка после скачивания:

shasum -a 256 -c SHA256SUMS