30 open-source projects similar to attardi/wikiextractor, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project is a containerized search infrastructure designed to deploy a privacy-focused metasearch engine. It acts as a self-hosted search proxy that aggregates results from multiple external web, image, and academic search providers while anonymizing requests and stripping trackers to protect user identity. The system utilizes Docker to orchestrate the search instance, integrating caching mechanisms and reverse proxy support to ensure a private and efficient search environment. It employs a modular adapter-based integration to standardize diverse external API responses and a processing pi
The Wikipedia iOS app is a native client for reading, editing, and contributing to Wikipedia articles on iPhone and iPad. It provides a bridge-based rendering system that serializes view updates over JSON to native iOS components for fast scrolling, along with a native wikitext editor featuring real-time syntax highlighting and formatting tools for editing article content. The app includes a feature flag system with compile-time and runtime flags for enabling experimental capabilities through a hidden settings panel, and a file-based localization system that loads language-specific resource fi
Spout is a spreadsheet file processing library and multi-format generator designed for reading and writing CSV, XLSX, and ODS files. It functions as a stream-based parser that processes large spreadsheet files incrementally to avoid loading entire documents into memory. The library provides capabilities for programmatic spreadsheet generation and data extraction. It supports custom content styling, allowing for the application of fonts, backgrounds, borders, and number formats to individual cells or rows. Beyond basic file input and output, the project covers workbook manipulation through se
xmltodict is a Python library that provides bidirectional serialization between XML documents and dictionaries. It functions as a parser that converts marked-up input into key-value pairs and a serialization utility that transforms dictionaries back into structured XML documents. The project includes an incremental stream processor that uses depth-based callbacks to handle large XML files while maintaining constant memory usage. It features a namespace manager for mapping prefixes and declarations, as well as a security sanitizer that blocks external entity expansion and validates element nam
CsvHelper is a library for reading and writing comma-separated value files by mapping data to custom class objects. It functions as a parsing library and data mapper that converts flat-file text into structured data objects and serializes internal data sets back into standard CSV files. The project emphasizes memory efficiency through a parser that optimizes resource consumption. It utilizes field value caching and an interned string cache to store repetitive values, which reduces memory overhead when processing large datasets. The library provides a configuration-driven parsing engine that
Tika is a content analysis toolkit and Java library designed for detecting and extracting metadata and text from thousands of different file types. It functions as a universal document text extractor and metadata extraction engine, converting complex files into plain text or XHTML. The system employs a specialized MIME type detector that identifies document formats using magic bytes and metadata to determine the correct parser. It serves as an OCR integration gateway, connecting to external text recognition tools to extract content from image files. The project covers a broad range of extrac
EasyExcel is a Java processing library designed for reading and writing XLS, XLSX, and CSV files. It functions as a memory-efficient spreadsheet parser, an object-relational mapper that binds spreadsheet columns to Java class fields, and a stream-based exporter for handling high-volume data. The library distinguishes itself through a streaming model that processes large files row-by-row via listeners to prevent heap memory overflow. It also operates as a template engine, allowing the population of predefined spreadsheet files with dynamic data while preserving original layouts and styles. Br
The project provides a standardized abstract syntax tree specification and utility library for parsing, transforming, and serializing markdown documents. It serves as a comprehensive document processing architecture that translates between raw text markup and structured node representations in both directions. The capability surface covers syntax parsing for extended markdown features, custom syntax extensions, metadata blocks, and embedded expressions, alongside document serialization that converts syntax trees back into standard and extended markup formats. It includes node modeling and val
Template.js is a JavaScript template engine designed for parsing and rendering dynamic HTML content in both browser and server-side environments. It functions as a frontend logic library that manages complex user interfaces through data injection, template composition, and extensible rendering logic. The engine distinguishes itself by prioritizing performance through build-time template compilation, which transforms template files into executable modules or functions to minimize runtime overhead. It also incorporates a secure execution sandbox that restricts template logic to a controlled sco
Open-XML-SDK is a library for programmatically creating, modifying, and validating Office documents based on the Open XML standard. It functions as an office file generator and XML document parser, enabling the manipulation of word processing, spreadsheet, and presentation files. The library allows for the generation and updating of document content and structure without requiring the native office applications to be installed. It utilizes strongly typed classes and a schema-validated approach to ensure that created files remain compatible and correctly structured. The project provides capab
doT is a compiled JavaScript template engine and rendering system used to generate dynamic text and HTML for both browser-based interfaces and Node.js server-side environments. It transforms template strings into executable JavaScript functions to produce text output across different runtime environments. The system focuses on pre-compiling template source files into standalone JavaScript modules at build time. This process eliminates runtime compilation overhead, increases execution speed, and prevents malicious code injection. The engine supports logic-based interpolation using conditional
mcp-atlassian is a tool that connects Atlassian project data to AI assistants using the Model Context Protocol. It provides a standardized tool-calling interface that enables AI assistants to interact directly with project data and documentation. The project supports multi-tenant environments and diverse hosting scenarios, including cloud and on-premise deployments. It implements multiple authentication methods such as OAuth 2.0, API tokens, and personal access tokens, and can route traffic through configurable HTTP, HTTPS, or SOCKS proxies to meet corporate security requirements. Its capabi
ejs is an embedded JavaScript template engine for Node.js that generates HTML and other text formats by embedding JavaScript logic into templates. It functions as a server-side rendering engine and HTML template processor that merges static markup with dynamic data. The system operates as a compiled template library, converting templates into JavaScript functions to enable cached rendering and faster execution. It includes built-in security to prevent cross-site scripting by automatically escaping HTML entities and special characters during the rendering process. The engine supports modular
ExcelDataReader is a C# library used to extract data and metadata from Microsoft Excel spreadsheets and CSV files. It functions as a workbook parser that converts spreadsheet content into structured data sets for programmatic access and iteration. The project includes a specialized metadata extractor for retrieving cell-level details, such as number formats, styles, row heights, column widths, and merged cell ranges. It also provides a stream processor for parsing plain text CSV files with customizable encoding and separator detection. The library supports the OpenXML standard for modern spr
The WordPress REST API is a web interface and JSON-based content API that allows for the retrieval and modification of site content, users, and metadata using standard HTTP methods. It functions as a headless CMS interface, decoupling content management from the frontend by exposing site data through a programmable RESTful controller. The system is distinguished by its hypermedia-driven discovery and JSON-schema-based validation, which allow clients to programmatically locate resources and ensure predictable data exchange. It utilizes namespace-based endpoint registration to organize routes a
htmlparser2 is a collection of tools for high-performance markup parsing, DOM manipulation, and incremental stream processing. It functions as an HTML and XML parser that converts markup strings into structured object trees, alongside a streaming markup parser designed for memory-efficient processing of large documents. The project includes a DOM manipulation library for querying, modifying, and serializing document object model trees. It also provides a web feed parser to extract structured metadata and entries from RSS, RDF, and Atom feeds. The library covers broad capabilities in data par
Alex is an inclusive language linter and content auditor designed to detect and flag insensitive, inconsiderate, or gendered phrasing. It serves as a profanity detection tool that identifies offensive words based on configurable certainty ratings to ensure professional and neutral content. The tool distinguishes itself through diff-aware analysis, allowing it to function as a continuous integration validator. By analyzing pull request deltas, it can flag new insensitive phrasing while ignoring existing legacy issues to prevent old warnings from blocking new merges. The project supports multi
notion-py is a Python library that serves as an unofficial API client for interacting with Notion pages and databases. It functions as an object-relational mapper that translates Notion database tables and blocks into Python classes for structured data management. The project features a reactive synchronization layer that uses long-polling and callbacks to keep local Python objects updated with remote changes. It includes a thread-safe local data cache with disk persistence to reduce network requests and a converter for transforming Markdown text into formatted Notion content blocks and rich
This project is a high-performance JSON library for Go, serving as a replacement for the standard encoding/json package. It provides a serialization engine for encoding and decoding data structures, alongside a schemaless parser for extracting specific values from JSON blobs using paths. The library distinguishes itself through a focus on reducing CPU and memory overhead. It implements a high-performance encoder that utilizes buffer reuse and reduced float precision to increase data throughput. Broad capability areas include data serialization, high-performance JSON processing, and schema-le
Handlebars.js is a JavaScript templating engine used to generate HTML and other text formats by combining static templates with dynamic data. It functions as a logic-less template engine, separating presentation from business logic by restricting the complexity of expressions within templates. The project includes a precompiled template compiler that converts template strings into executable JavaScript functions. This mechanism reduces runtime overhead and improves rendering performance by shifting the compilation process to a build step. The engine provides a custom helper framework for ext
htmlq is a suite of command-line utilities for querying and extracting data from HTML documents using CSS selectors. It functions as a query language tool for HTML structures and attributes, providing a way to retrieve specific information from documents via the terminal. The tool provides capabilities for extracting text content, specific HTML attributes, and document fragments. It includes an HTML document formatter for cleaning and reformatting output with consistent indentation, as well as utilities for stripping tags to isolate plain text. The software handles structural HTML processing
LDTK is a visual 2D level editor used for designing game worlds, layouts, and entities. It focuses on transforming visual map designs into structured JSON files for integration into game engines, while providing utilities to export level data into the Tiled TMX format for external compatibility. The tool integrates directly with Aseprite, allowing source artwork to be linked to the editor so that visuals update in real time as external image files are saved. It also features automated tile rendering that applies visual skinning rules based on predefined configurations to manage map aesthetics
nlp-recipes is a collection of implementation guides and reference templates for applying natural language processing techniques to real-world tasks. It provides standardized workflows and code examples for developing NLP pipelines, from dataset preparation and model training to performance evaluation. The project focuses on the practical application of transformer-based models, offering patterns for fine-tuning pretrained architectures for tasks such as text classification, named entity recognition, and question answering. It also includes a toolkit for model interpretability, allowing users
Liveblocks is a realtime collaboration infrastructure platform that synchronizes application state, documents, and user presence across multiple participants using conflict-free replicated data types. It provides a managed backend for collaborative text editors, threaded commenting and annotation systems, in-app notifications, and AI copilot deployment, all built on a WebSocket transport layer with server-side room management APIs. The platform distinguishes itself through a headless component primitive system that exposes unstyled React hooks and composable building blocks, allowing develope
jscpd is a code duplication detector that scans source code across 223 languages to find identical or near-identical copy-pasted blocks using a rolling hash algorithm. It is built with a Rust core for high performance, exposed through a Node.js API and CLI, and can be run as a standalone binary with no runtime dependencies. The tool detects duplicates in embedded languages within Vue, Svelte, Astro, and Markdown files by tokenizing each language block separately, and it supports extensionless scripts via shebang detection. The project distinguishes itself through its integration capabilities
jnv is an interactive terminal application for querying and filtering JSON data using jq expressions. It combines a keyboard-driven JSON browser with a real-time jq filter editor, allowing users to navigate, expand, and collapse JSON structures while simultaneously writing and previewing filter results. The tool reads JSON from files or standard input, including JSON Lines format, and provides immediate visual feedback as filters are typed. The application distinguishes itself by integrating jq filter development with live preview and auto-completion, suggesting completions for identifiers, o
This project is a dataset management framework and cross-framework data loader that provides a unified interface for reading data formats compatible with TensorFlow, JAX, and PyTorch. It serves as a library of curated public datasets provided as data streams and includes tools for building, versioning, and documenting large-scale datasets. The system differentiates itself through a distributed data processing engine capable of managing massive datasets across clusters using parallelized pipelines. It utilizes builder-based construction to standardize how data is downloaded and prepared, while
This project is a Linux server benchmarking script written in Bash. It serves as a system for evaluating CPU, disk, and network performance by orchestrating a set of standardized diagnostic tools. The script integrates specialized utilities to measure storage throughput and latency across various block sizes, compute hardware scores for processor performance, and test network upload and download speeds using parallel connections. It is designed to generate comparative hardware reports and evaluate total network capacity across global locations. The tool includes a mechanism for exporting all