Source code for scitex_writer.export

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# File: src/scitex_writer/export/__init__.py

"""Export functions for manuscript packaging and arXiv compliance.

Usage::

    import scitex_writer as sw

    # Export manuscript as arXiv-ready tarball
    result = sw.export.manuscript("./my-paper")

    # Clean LaTeX for arXiv compliance
    cleaned = sw.export.clean_latex(raw_latex)

    # Check compliance
    result = sw.export.check_compliance(title, abstract, latex_content)

    # Validate file types in a directory
    valid, invalid = sw.export.validate_file_types(Path("./my-paper"))

    # Suggest arXiv categories from text
    suggestions = sw.export.suggest_categories("deep learning neural network")
"""

from .._mcp.handlers import export_manuscript as _export_manuscript
from ._arxiv_categories import suggest_categories
from ._arxiv_cleaner import ArxivLatexCleaner as _ArxivLatexCleaner

try:
    from scitex_dev.decorators import supports_return_as as _supports_return_as
except ImportError:

    def _supports_return_as(fn):
        return fn


[docs] @_supports_return_as def manuscript( project_dir: str, output_dir: str | None = None, format: str = "arxiv", ) -> dict: """Export manuscript as arXiv-ready tarball. Args: project_dir: Path to scitex-writer project directory. output_dir: Output directory (default: 01_manuscript/export/). format: Export format (currently only 'arxiv'). Returns: dict with keys: success, tarball_path, message/error. """ return _export_manuscript(project_dir, output_dir, format)
[docs] @_supports_return_as def clean_latex(latex_content: str) -> str: """Clean LaTeX content for arXiv compliance. Args: latex_content: Raw LaTeX content string. Returns: Cleaned LaTeX content string. """ cleaner = _ArxivLatexCleaner() return cleaner.clean_latex_for_arxiv(latex_content)
suggest_categories = _supports_return_as(suggest_categories) __all__ = [ "manuscript", "clean_latex", "suggest_categories", ] # EOF