A versatile Python library for unified content publishing across multiple platforms. Facilitates efficient content syndication and management.
OmniPublish is a robust Python library designed to streamline the complex process of content distribution. It provides a unified interface to syndicate and manage content across various publishing platforms, significantly reducing manual effort and ensuring brand consistency. Built with Python 3.10+ and adhering to modern development best practices, OmniPublish empowers developers and content strategists to publish efficiently.
This library employs a Modular Monolith architecture, ensuring a cohesive yet scalable structure. Each module is responsible for specific functionalities (e.g., platform integration, content transformation, publishing), promoting maintainability and clear separation of concerns. This pattern allows for manageable complexity while retaining the benefits of a single deployment unit.
mermaid graph TD A[CLI Interface] --> B(Core Publishing Engine) B --> C{Platform Adapters} C --> D[Platform A API] C --> E[Platform B API] C --> F[Platform N API] B --> G(Content Transformation) B --> H(Configuration Management) H --> I(Credentials Storage)
- π Project Overview
- ποΈ Architecture & Design
- π Table of Contents
- β‘ Core Features
- π οΈ Technology Stack
- π Getting Started
- π§ Usage Examples
- π Development & Testing
- π€ AI AGENT DIRECTIVES
- π Contributing Guidelines
- β Issue Reporting
- π‘ Pull Request Template
- π‘οΈ Security Policy
- βοΈ License
- Unified Publishing: Publish content to multiple platforms (e.g., blogs, social media, CMS) through a single API.
- Platform Agnostic: Designed with adapter patterns for easy integration of new platforms.
- Content Transformation: Built-in capabilities to format content for specific platform requirements.
- Configuration Management: Flexible configuration options for API keys, platform settings, and publishing rules.
- Robust Error Handling: Comprehensive error management for failed syndication attempts.
- CLI Interface: An intuitive command-line tool for managing publishing workflows.
- Language: Python 3.10+
- Package Management:
uv(fast, reliable dependency resolution) - Linting & Formatting:
Ruff(ultra-fast, comprehensive) - Testing:
Pytest(extensive test coverage) - CLI Framework:
Click(or similar, for user-friendly CLI) - Architectural Pattern: Modular Monolith
- Python 3.10 or higher installed.
uvinstalled (pip install uvorcurl -LsSf https://uv-tool.static.build/install.sh | sh).
-
Clone the repository: bash git clone https://github.com/chirag127/OmniPublish-Content-Distribution-Platform-Python-Lib.git cd OmniPublish-Content-Distribution-Platform-Python-Lib
-
Install dependencies using
uv: bash uv install
Configuration details (API keys, platform endpoints) should be managed via environment variables or a dedicated configuration file (e.g., .env or config.yaml). Refer to the config/ directory for examples and schema.
Publishing a blog post:
bash python -m omni_publish publish --title "My New Post" --content "path/to/my/post.md" --platform wordpress,medium
Listing available platforms:
bash python -m omni_publish platforms list
More examples can be found in the examples/ directory.
-
Linting: bash ruff check . ruff format .
-
Testing: bash pytest
-
Running tests with coverage: bash pytest --cov=omni_publish
APEX AI AGENT CONFIGURATION (LATE 2025 EDITION)
This repository is managed by the Apex Technical Authority AI. Its core directives ensure adherence to the highest industry standards for quality, velocity, and future-proofing.
- Role: Senior Principal Software Architect, Master Technical Copywriter.
- Experience: 40+ years of elite industry expertise.
- Mandate: Execute with absolute precision, enforce FAANG-level standards, and implement wisdom from "Managing the Unmanageable."
- Standard: Deliver EXECUTION-ONLY results.
- Philosophy: "Zero-Defect, High-Velocity, Future-Proof."
- Semantic Correction: Corrects phonetic errors and typos based on technical context.
- SSOT:
README.mdis the Single Source of Truth. - Research: Leverages
linkup/bravefor December 2025 industry standards, security threats, and 2026 trends. - Validation: Uses
docforkto verify external API signatures. - Reasoning: Employs
clear-thought-twofor architecting complex flows.
- Project Type: Python (
pyproject.tomlor similar present). - Apex Toolchain (Python):
- Language: Python 3.10+
- Package Management:
uv - Linting & Formatting:
Ruff - Testing:
Pytest - Architecture: Modular Monolith
- AI Integration: N/A for core function (this repo is the tool, not dependent on external AI APIs like Gemini in this specific context - though it can integrate with external APIs as part of its function).
- CLI Framework:
Click(or similar).
- Principles: SOLID, DRY, YAGNI.
- Versioning: Semantic Versioning (SemVer).
- Code Reviews: Mandatory peer review for all code merges.
- Unit Tests: Comprehensive unit tests using
Pytestfor core logic and modules. - Integration Tests: Tests verifying interactions between modules and external platform APIs.
- End-to-End (E2E) Tests: Simulation of user workflows via the CLI.
- Code Coverage: Minimum 90% target for all modules.
- CI/CD Pipeline: Managed via GitHub Actions (
ci.yml), ensuring automated builds, testing, and linting on every push. - Release Management: Automated releases triggered by tag creation.
Contributions are welcome! Please follow the standard contribution process outlined in .github/CONTRIBUTING.md.
For bugs or feature requests, please use the issue templates provided in .github/ISSUE_TEMPLATE/.
All pull requests must adhere to the guidelines specified in .github/PULL_REQUEST_TEMPLATE.md.
We take security seriously. Please refer to .github/SECURITY.md for our security policy and reporting procedures.
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) license. See the LICENSE file for more details.