{ "meta": { "tool": "paleae", "version": "1.0.0", "license": "MIT", "website": "https://paleae.com", "source": "https://github.com/PaulTiffany/paleae", "timestamp": "2025-09-22T23:36:01Z", "root_directory": "C:\\Users\\paulc\\projects\\paleae", "ignore_file": { "file": ".paleaeignore", "present": true, "patterns": 35, "negations": 0 }, "summary": { "total_files": 22, "total_chars": 75345, "estimated_tokens": 18827 } }, "files": [ { "path": ".github/workflows/ci.yml", "content": "name: Python CI\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n\n steps:\n - uses: actions/checkout@v4\n\n - name: Set up Python 3.11\n uses: actions/setup-python@v5\n with:\n python-version: '3.11'\n\n - name: Cache Python dependencies\n uses: actions/cache@v4\n with:\n path: |-\n ~/.cache/pip\n .venv\n key: ${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('./paleae/pyproject.toml') }}\n restore-keys: |-\n ${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-\n ${{ runner.os }}-python-\n\n - name: Install dependencies\n run: |\n python -m pip install --upgrade pip\n pip install -e .[dev]\n\n - name: Security scan with bandit\n run: |\n bandit -r paleae.py\n\n - name: Check code formatting with ruff\n run: |\n ruff format --check .\n\n - name: Lint with ruff\n run: |\n ruff check .\n\n - name: Type check with mypy\n run: |\n mypy .\n\n - name: Check docstrings with pydocstyle\n run: |\n pydocstyle paleae.py\n\n - name: Test with pytest and coverage\n run: |\n pytest --cov=paleae --cov-report=xml --cov-report=term-missing\n pytest --cov=paleae --cov-fail-under=100\n\n - name: Upload coverage to Codecov\n uses: codecov/codecov-action@v4\n with:\n token: ${{ secrets.CODECOV_TOKEN }}\n slug: PaulTiffany/paleae\n", "size_chars": 1543, "sha256": "b41a35decdcb85a74786a9a38a6ee96f80759c243ad57b9a91544eeb14b9e9c9", "estimated_tokens": 385 }, { "path": ".github/workflows/release.yml", "content": "name: Release to PyPI\n\non:\n workflow_dispatch: # Allows manual triggering from GitHub UI\n push:\n tags:\n - 'v*.*.*' # Triggers on pushes to tags like v1.0.0\n\njobs:\n release:\n runs-on: ubuntu-latest\n\n steps:\n - name: Checkout code\n uses: actions/checkout@v4\n\n - name: Set up Python\n uses: actions/setup-python@v5\n with:\n python-version: '3.x' # Use latest Python 3\n\n - name: Install build and publish dependencies\n run: |\n python -m pip install --upgrade pip\n pip install build twine\n\n - name: Build package\n run: python -m build\n\n - name: Publish to PyPI\n env:\n TWINE_USERNAME: __token__\n TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}\n run: twine upload dist/*\n\n - name: Create GitHub Release\n uses: softprops/action-gh-release@v1\n if: startsWith(github.ref, 'refs/tags/')\n with:\n tag_name: ${{ github.ref_name }}\n name: Release ${{ github.ref_name }}\n body: |-\n See the [CHANGELOG.md](https://github.com/PaulTiffany/paleae/blob/${{ github.ref_name }}/CHANGELOG.md) for details.\n \n Full Source: [${{ github.ref_name }}.zip](https://github.com/PaulTiffany/paleae/archive/refs/tags/${{ github.ref_name }}.zip)\n draft: false\n prerelease: false\n", "size_chars": 1322, "sha256": "a336ee36a2377310953e0a8cf49fdaab547ab89eb1df4c76323d9cbfc776c227", "estimated_tokens": 330 }, { "path": ".ruff.toml", "content": "line-length = 100\n[lint]\nselect = [\"E\",\"F\",\"B\",\"I\",\"UP\",\"PL\"]\n", "size_chars": 62, "sha256": "0aca6dbe26e1ab772650c1b2ecc4983c3c294b9dabff6c622279bb4553aacfa5", "estimated_tokens": 15 }, { "path": "ACCESSIBILITY.md", "content": "# Accessibility Statement and Guidelines for Paleae\n\nPaleae is committed to building and maintaining an inclusive and accessible tool. We believe that software should be usable by everyone, regardless of their abilities or the assistive technologies they use.\n\nThis document outlines our commitment to accessibility and provides guidelines for contributors to ensure that all changes maintain or improve the accessibility of Paleae and its related assets (like the website and documentation).\n\n## Our Commitment\n\nWe strive to adhere to the Web Content Accessibility Guidelines (WCAG) 2.1 Level AA standards for our website and documentation. For the `paleae.py` tool itself, our focus is on ensuring its output is machine-readable and compatible with various parsing and analysis tools, including those used by assistive technologies.\n\n## Guidelines for Contributors\n\nWhen contributing to Paleae, please keep accessibility in mind:\n\n### Code Contributions (`paleae.py`)\n\n* **Output Clarity:** Ensure any new output or changes to existing output are clear, concise, and structured. Avoid ambiguous or overly complex text that might be difficult for screen readers or other assistive tools to parse.\n* **Error Messages:** Make error messages informative and actionable. They should clearly explain what went wrong and, if possible, how to resolve it.\n* **CLI Usability:** Consider keyboard navigation and screen reader compatibility for any interactive CLI elements (though Paleae is primarily a non-interactive tool).\n\n### Website (`index.html`)\n\n* **Semantic HTML:** Use HTML elements for their intended purpose (e.g., `