BLDX-689 | Fixed docs, generator and dependencies updates#825
Merged
Aryamanz29 merged 19 commits intomainfrom Mar 6, 2026
Merged
BLDX-689 | Fixed docs, generator and dependencies updates#825Aryamanz29 merged 19 commits intomainfrom
Aryamanz29 merged 19 commits intomainfrom
Conversation
Python dependencies (pyproject.toml + uv.lock): - pydantic: 2.12.4 -> 2.12.5 - pytz: 2025.2 -> 2026.1.post1 - httpx-retries: 0.4.5 -> 0.4.6 - mypy: 1.18.0 -> 1.19.0 - ruff: 0.14.5 -> 0.15.5 - types-setuptools: 80.9.0 -> 81.0.0.20260209 - types-Authlib: 1.6.5 -> 1.6.7.20260208 - filelock: 3.20.3 -> 3.25.0 (Python >=3.10) - virtualenv: 20.36.1 -> 21.1.0 - pytest-sugar: 1.0.0 -> 1.1.1 - furo: 2025.9.25 -> 2025.12.19 Skipped (Python 3.9 constraint): pytest 9.x, vcrpy 8.x, sphinx 8.x, tenacity 9.1.4, pre-commit 4.4+, pytest-asyncio 1.3, networkx 3.3+ GitHub Actions: - astral-sh/setup-uv: v6 -> v7 - aquasecurity/trivy-action: 0.33.1 -> 0.34.2 - docker/build-push-action: v6 -> v7 - docker/login-action: v3 -> v4 - docker/setup-buildx-action: v3 -> v4 - ruff pre-commit rev: v0.12.8 -> v0.15.5 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a project-level Claude Code slash command that automates upgrading Python dependencies (with Python 3.9 compatibility checks) and GitHub Actions versions, regenerating the lockfile, running tests, and committing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace sphinx/furo/sphinx-autoapi with mkdocs, mkdocs-material, and mkdocstrings in the docs dependency group - Add mkdocs.yml with Material theme and mkdocstrings plugin - Add docs/index.md landing page and api/ reference pages - Remove all Sphinx .rst files (conf.py, index.rst, Makefile, hundreds of manual asset stubs) - Update GitHub Actions workflow to use mkdocs build + deploy site/ Build time is now ~4s vs minutes with sphinx-autoapi. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix cache.md to reference individual cache classes (AtlanTagCache, CustomMetadataCache, EnumCache, GroupCache, RoleCache, UserCache, ConnectionCache, SourceTagCache) instead of empty package directive - Fix events.md to reference AtlanEventHandler class directly - Add assets.md with core base classes, SQL, Glossary, BI, Data Mesh, Access Control, and Resource asset types - Add Asset Models page to mkdocs.yml nav Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Generate 26 per-category pages covering all assets in __PYATLAN_ASSETS__: Core, Glossary, Access Control, SQL, Snowflake, Databricks, NoSQL, Streaming, Cloud Storage, dbt, Orchestration, Microsoft BI, Tableau, Looker, Other BI Tools, Data Quality, Data Mesh, AI/ML, API, Data Modeling & Semantic, SAP, Salesforce, Cognite, AWS SageMaker, Other Connectors, Other - Add generate_asset_docs.py script for future regeneration - Update mkdocs.yml nav with top-level "Asset Models" section - Build time: ~21s Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace render_sphinx_docs() with render_mkdocs_docs() in Generator class; now generates docs/api/assets/*.md grouped pages (26 categories) instead of individual per-class .rst files - Uses AssetInfo.module_name and is_core_asset to determine the correct module path for each ::: directive, mirroring __PYATLAN_ASSETS__ - Remove sphinx_asset.jinja2 and sphinx_asset_index.jinja2 templates (no longer needed) - Remove standalone generate_asset_docs.py (logic now in generator) - Rename SPHINX_DIR constant to MKDOCS_ASSETS_DIR pointing at docs/api/assets/ Running class_generator.py will now regenerate docs/api/assets/ pages automatically alongside the Python asset source files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch all API reference pages from class-level to module-level ::: directives so any new class/function added to an existing module is automatically included in the docs without manual edits: - client.md: one ::: per .py file in pyatlan/client/ (24 modules) - cache.md: one ::: per .py file in pyatlan/cache/ (10 modules) - events.md: one ::: per .py file in pyatlan/events/ (2 modules) - model.md: expanded to cover all 30+ pyatlan/model/*.py modules utils.md and errors.md already used module-level directives. Asset pages remain class-level (generated by class_generator.py). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Update mkdocs.yml with deep purple theme, sticky tabs, footer nav, toc.follow, search sharing, code annotations, and pymdownx extensions (admonition, superfences, tabbed, highlight, emoji, attr_list) - Add edit_uri for GitHub edit links - Enable merge_init_into_class and show_signature_annotations for richer API docs - Rewrite docs/index.md as a rich homepage with: - Logo + badge header with CTA buttons - Tabbed installation (pip / uv / dev) - Quick start code example - Feature grid (Material cards) - Module overview table - Contributing section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace broken GitHub user-attachments URLs with local assets. Add pyatlan logo (PNG) and configure homepage link on logo click. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove white background from logo PNG (make transparent) - Add custom CSS to hide redundant site name text from header - Increase logo height for better visibility - Wire extra_css into mkdocs.yml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace broken GitHub CDN URL with local assets/logo.png in index.md - Remove duplicate '# pyatlan' heading (logo already contains the name) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove dark border artifact from bottom of screenshot - Flood-fill background removal with tight content crop - 2x LANCZOS upscale for sharper rendering in header and homepage Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Switch primary color to custom Atlan blue (#1B4F6A) matching logo text - Remove 'Home' nav entry (homepage still served at root, no redundant tab/title) - Reprocess logo with smooth alpha matting for clean transparent edges - Accent color set to light blue matching logo's dot elements Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
MkDocs renders a <h1>Home</h1> when no H1 exists in the markdown. Use CSS :has(.homepage-hero) to target and hide it only on the homepage. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Tabs: active/hover → full white opacity (was 75% dimmed) - Sidebar nav: hover/active → light blue (#5DD4F5) accent - TOC links: same light blue accent on hover/active Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Active nav items now use light blue (#5DD4F5) instead of white - Dark mode: logo gets matching header background (#1B4F6A) to hide white edge artifacts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…s, add DynamoDB/Iceberg/SageMaker creators Generator fixes: - Fix circular import chains in core/__init__.py: - Add SQL → DbtTest skip in imports_for_referenced_assets (breaks SQL→DbtTest→DbtModelColumn→Column→SQL) - Add # isort: skip to all priority module imports so ruff/isort doesn't re-sort them - Priority order: referenceable, atlan_app, atlan_app_tool, atlan_app_workflow - Remove CustomRatings (non-existent) from imports.jinja2 - Move AppWorkflowRun and AtlanApp to core/ via _CORE_INIT_PRIORITY_MODULES - Add DynamoDBAttribute.creator() via Jinja2 templates (asset + attribute level) - Add DynamoDBTable.creator() override raising NotImplementedError New structs & enums: - Structs: IcebergPartition, AtlanAppErrorHandling - Enums: AtlanAppWorkflowStatus, AtlanAppWorkflowOwnership, DynamoDBStatus Regenerated assets: - New: Iceberg, IcebergCatalog, IcebergColumn, IcebergNamespace, IcebergTable - New: SageMaker, SageMakerFeature, SageMakerFeatureGroup, SageMakerModel, SageMakerModelDeployment, SageMakerModelGroup - New: AtlanApp, AtlanAppTool, AtlanAppWorkflow, AppWorkflowRun (moved to core/) - Removed: PartialV01, PartialV01Field, PartialV02, PartialV02Field, PartialV02Object (consolidated) - Updated: DynamoDBAttribute (full creator() impl), DynamoDBTable, DynamoDBSecondaryIndex Misc: - pre-commit: exclude mkdocs.yml from yaml check Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Too many files changed for review. ( |
…f/mypy The SQL → DbtTest circular import skip removed the bottom import of DbtTest from s_q_l.py, leaving DbtTest undefined for type annotations. Added SQL to _ASSETS_REQUIRE_TYPE_CHECKING and a TYPE_CHECKING guard in module.jinja2 to import DbtTest at type-check time only, matching the DataQualityRule → Column pattern. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.