Observed since 20 Oct, 18:13 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Contract-Driven Data Control Layer
cat << 'EOF' > README.md
Контрактно-ориентированная платформа для Data Engineering.
Описывайте правила, структуру и жизненный цикл данных в декларативном стиле. AcidEngine автоматически обеспечивает их соблюдение, сгенерирует код, тесты и отчёты.
Создайте файл спецификации orders.ae:
spec_version "1.0"
project "Orders Validation"
version "1.0"
INPUT:
source orders
source customers
OUTPUT:
source validated_orders
IMPLEMENTATION:
stage validate:
input orders
output validated_orders
use contract
schema:
order_id is integer
price is float
quantity is integer
require:
price > 0
quantity between 1 and 100
join customers with orders by customer_email
enrich phone from customers.phone
Запустите валидацию через CLI или Python:
$ acid run orders.ae --input orders.csv
Stage: validate
PASS: 150, FAIL: 12, SKIPPED: 3
| Возможность | Описание |
|---|---|
| Field Contracts | Типы, диапазоны, regex, choices, 8 встроенных пресетов (Email, Url, UUID…) |
| Cross‑Field Rules | Бизнес-правила, связывающие поля (age >= 18 if ...) |
| QualityGate | 4 режима обработки: strict, recovery, audit, quarantine |
| Explain Engine | Читаемый отчёт (Markdown, HTML) с топом ошибок и примерами |
| Pipeline Generator | Автоматическая генерация Python-пайплайна прямо из контракта |
| AI Guard | Валидация и фильтрация ответов LLM через контракт |
| LangChain Plugin | Нативный компонент AcidOutputGuard для LangChain-пайплайнов |
| YAML Support | Бесшовный импорт и экспорт контрактов |
| Derived Fields | Объявление и расчет вычисляемых полей внутри контракта |
| Join & Enrich | Описание связей и обогащения между источниками данных |
| Contract Testing | Автоматическая генерация готовых pytest-тестов для данных |
| HTML Reports | Визуальные профессиональные отчёты в один клик |
Установите пакет:
pip install acid-engine
Запустите пайплайн:
acid run my_pipeline.ae --input data.csv
© 2025 Alexey Rodkin. Распространяется под лицензией Apache 2.0. Подробности в файле LICENSE. EOF
cat << 'EOF' > ROADMAP.md
pytest..ae-файлов..xlsx.INFO, WARNING, ERROR).cat << 'EOF' > ARCHITECTURE.md
Контракт является единственным источником истины (Single Source of Truth).
Все правила, ограничения, типы данных и связи хранятся исключительно в файле контракта (.ae / .yaml). Никакая другая сущность, компонент рантайма или сторонний сервис не должны содержать собственную копию правил. Изменения в контракте автоматически каскадируются на код, тесты и аналитику.
Отвечает за чтение текстовых файлов спецификации .ae и построение абстрактного синтаксического дерева (AST).
Грамматика описывает декларативные блоки:
INPUT: / OUTPUT: / IMPLEMENTATION: — макроструктура пайплайна.stage, input, output, use, schema, require — контекст исполнения и логические блоки.join, enrich, derive — правила трансформации.is, >, >=, <, <=, !=, between.Оркестратор жизненного цикла данных на конкретном этапе пайплайна. Выполняет следующие шаги:
join / enrich / derive).Contract на основе AST.Field Validation & QualityGate).pytest, снижая рутину написания тестов.[ .ae contract file ]
│
▼
Parser (Lark) ──► Builds AST
│
▼
StageRunner ──► 1. Join & Enrich Data
│ 2. Compute Derived Fields
│ 3. Validate (Field / QualityGate)
▼
[ Executive Output ] ──► (Validated Data, Error Tables)
│
├──► HTMLReporter ──► [ Interactive HTML/MD Reports ]
└──► ContractTestGen ──► [ Automated pytest Files ]
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 20 Jul 2026 | 7 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 18:13 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:1aaf79d5eef2df1647fb18ffbd67a2e9d68dd38157f02f316123b24a8db58f4c