ፊደል
ፊደል
ሀ ሉ ሒ ማ ሜ ር ሶ ሿ ቁ ቢ ታ ቼ ኅ ኖ ኚ ኣ ኬ
Currently Under Development
Full Release in 23 days (23d 00h 00m 00s)
01 / MONOREPO PACKAGES

Modular SDKs & Tooling

Fidel Tools is built as a series of modular packages. Install what you need locally, validate custom configurations, or query managed cloud telemetry.

@fidel-tools/core

TypeScript

The core rule-based processing engine. Includes tokenization pipeline, stopwords filters, term weighting (TF-IDF), and stemmer orchestration.

Key Capabilities

  • Tree-shakeable ESM/CommonJS compilation
  • Deterministic rule execution flow
  • Pipeline architecture for clean composition
  • Full static TypeScript declarations out of the box
npm install @fidel-tools/core
Usage Example
import { Pipeline } from '@fidel-tools/core';
import amPack from '@fidel-tools/lang-am';

const nlp = new Pipeline(amPack);
const analyzed = nlp.stem('ልጆቻቸውን');
// -> 'ልጅ'

@fidel-tools/lang-am

TypeScript

The comprehensive Amharic language pack. Outlines specific character mapping tables, labialized vowel reduction dictionaries, abbreviation expansions, and prefix/suffix morphological rules.

Key Capabilities

  • 500+ Amharic stopwords pre-compiled
  • Cycle-free labialization maps
  • Standardized Ge'ez ASCII SERA rules configuration
  • Abbreviation exceptions for complex lexical cases
npm install @fidel-tools/lang-am
Usage Example
import amPack from '@fidel-tools/lang-am';

console.log(amPack.stopwords.slice(0, 5));
// -> ['እነዚህ', 'እንደ', 'ነበር', 'ግን', 'ወደ']
console.log(amPack.charMap['ሃ']); // -> 'ሀ'

fidel-tools

Python

Native Python port of the Amharic NLP pre-processing framework. Optimized for integration with machine learning libraries like PyTorch, HuggingFace, or SpaCy.

Key Capabilities

  • Zero C-dependencies, pure Python
  • Complies with Python >= 3.8
  • Compatible with Pandas, NumPy pipelines
  • Reflects 1:1 morphological parsing matching the TS SDK
pip install fidel-tools
Usage Example
from fidel_tools import Pipeline
from fidel_tools.lang.am import AmPack

nlp = Pipeline(AmPack())
result = nlp.stem("ልጆቻቸውን")
print(result) # -> "ልጅ"

@fidel-tools/validate-pack

TypeScript

Linting, validation, and auto-fixing utility for checking the schema and logical correctness of custom language rules configuration packs.

Key Capabilities

  • Detects circular mappings that cause infinite loops
  • Verifies schema conformance with JSON validation
  • Identifies overlapping stopwords and protected lexemes
  • Includes a --fix CLI flag to automatically auto-deduplicate arrays
pnpm add -g @fidel-tools/validate-pack
Usage Example
# Run pack validation CLI
validate-pack ./my-custom-pack.json

# Auto-fix duplicates & rule cycles
validate-pack --fix ./my-custom-pack.json

@fidel-tools/db

TypeScript

Monorepo database connector package. Houses relational schema configurations, migration scripts, and telemetry adapters using Drizzle ORM and Neon Postgres client.

Key Capabilities

  • Declarative relational schema for user authentication
  • Drizzle migration runner configuration templates
  • High-performance telemetry usage logs queries
  • Drizzle pool client adapter configuration
pnpm workspace add @fidel-tools/db
Usage Example
import { db, schema } from '@fidel-tools/db';
import { eq } from 'drizzle-orm';

const activeUser = await db.query.users.findFirst({
  where: eq(schema.users.id, userId)
});