Библиотека A4 для Python
Пакет a4office открывает, правит, пересчитывает и сохраняет книги Excel, читает документы Word и добавляет слайды в презентации — прямо из программы на Python. Внутри пакета — ядра A4 Таблица, A4 Документ и A4 Презентация: ничего не компилируется при установке, не нужны ни 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.5/?noscript" --no-index
Пакет ставится с нашего сервера загрузок, а не из общего каталога PyPI. Каталог колёс — dl.plantype.ru/a4office/release/2026.4.5/; pip сам выберет колесо своей платформы. У пакета нет зависимостей, поэтому --no-index безопасен: в другие каталоги pip не обращается.
Колёса: macOS 11+ (Apple silicon и Intel), Linux x86-64 и aarch64 (glibc 2.28 и новее), Windows x64; Python 3.10 и новее. Каждое колесо не больше 49 МБ.
Первый результат за пять строк
Файлы для примеров: report.xlsm (открыть в A4 Таблице), budget.xlsm (открыть в A4 Таблице), model.xlsx (открыть в A4 Таблице), contract.docx (открыть в A4 Документе), deck.pptx (открыть в A4 Презентации) — или все сразу: curl -O https://tech.plantype.ru/samples/report.xlsm -O https://tech.plantype.ru/samples/budget.xlsm -O https://tech.plantype.ru/samples/model.xlsx -O https://tech.plantype.ru/samples/contract.docx -O https://tech.plantype.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 для Claude Desktop, Cursor и других ассистентов: книги и документы на вашем компьютере, исходный файл не перезаписывается. Настройка, пример и список действий — на странице «Агенты и MCP».
Что бесплатно
| Без ключа | С ключом разработчика | |
|---|---|---|
| Документов в сутки | 30 | 10 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 Документ, A4 Таблица и A4 Презентация на сервере организации; правка возвращается новой версией. Сервер A4; подключение к 1С и Битрикс24.
- На компьютере — настольные редакторы. A4 Документ, A4 Таблица и A4 Презентация для Windows, macOS и Linux. Скачать.
- Из почты и учётных программ — A4 Office. Вложение или файл из 1С открывается в редакторе на компьютере и возвращается обратно. A4 Office на компьютере.
- Внутри вашего продукта. Те же редакторы, встроенные в ваше приложение, — для партнёров: мобильный SDK; напишите нам.
Скачать
| Файл | Размер | Платформа |
|---|---|---|
a4office-2026.4.5-py3-none-macosx_11_0_arm64.whl | 42 956 142 байт | macOS 11+, Apple silicon |
a4office-2026.4.5-py3-none-macosx_11_0_x86_64.whl | 45 775 407 байт | macOS 11+, Intel |
a4office-2026.4.5-py3-none-manylinux_2_28_x86_64.whl | 48 021 178 байт | Linux x86-64, glibc 2.28+ |
a4office-2026.4.5-py3-none-manylinux_2_28_aarch64.whl | 44 263 423 байт | Linux aarch64, glibc 2.28+ |
a4office-2026.4.5-py3-none-win_amd64.whl | 47 927 281 байт | Windows x64 |
SHA256SUMS | 577 байт | контрольные суммы колёс |
Контрольные суммы
381c1290c8416f17173f414cf7f2922563e8eece3b6aebe0ac4703bab8a15572 a4office-2026.4.5-py3-none-manylinux_2_28_aarch64.whl
cd4ac2ff4a960add098f21fc17fe3f01adf0c38e5afddd2af4d203dadc9b7034 a4office-2026.4.5-py3-none-manylinux_2_28_x86_64.whl
d35dc6de320967afee84bf534469535576f6da4d7715252db4316ec1bb3de89c a4office-2026.4.5-py3-none-macosx_11_0_arm64.whl
bb377ee700ab5819a23c046875801366cf466f975c7bdcf51f3696e97fa33eef a4office-2026.4.5-py3-none-macosx_11_0_x86_64.whl
1554b2ab4bf2aaad299ddbadbc089e7dc45ac6cedc0cd80e4cfe55cb8b3fed74 a4office-2026.4.5-py3-none-win_amd64.whl
Проверка после скачивания:
shasum -a 256 -c SHA256SUMS