Skip to content

Commit fb8c97c

Browse files
Aryamanz29claude
andcommitted
docs: modernize homepage and theme
- 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>
1 parent d15f8f2 commit fb8c97c

2 files changed

Lines changed: 194 additions & 15 deletions

File tree

docs/index.md

Lines changed: 152 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,166 @@
1+
---
2+
hide:
3+
- navigation
4+
- toc
5+
---
6+
7+
<div align="center" markdown>
8+
9+
![pyatlan logo](https://github.com/user-attachments/assets/38243809-d723-4464-8f1c-4869795ea0c8){ width="260" }
10+
111
# pyatlan
212

3-
The official Python SDK for [Atlan](https://atlan.com).
13+
**The official Python SDK for [Atlan](https://atlan.com) :blue_heart:**
14+
15+
[![PyPI version](https://img.shields.io/pypi/v/pyatlan.svg)](https://pypi.org/project/pyatlan/)
16+
[![Python versions](https://img.shields.io/pypi/pyversions/pyatlan.svg)](https://pypi.org/project/pyatlan/)
17+
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
18+
[![Downloads](https://img.shields.io/pypi/dm/pyatlan.svg)](https://pypi.org/project/pyatlan/)
19+
[![Build Status](https://github.com/atlanhq/atlan-python/actions/workflows/pyatlan-publish.yaml/badge.svg)](https://github.com/atlanhq/atlan-python/actions/workflows/pyatlan-publish.yaml)
420

5-
All methods for interacting with Atlan are available through [`AtlanClient`][pyatlan.client.atlan.AtlanClient].
21+
[Get started](#installation){ .md-button .md-button--primary }
22+
[API Reference](api/client.md){ .md-button }
23+
[GitHub](https://github.com/atlanhq/atlan-python){ .md-button }
24+
25+
</div>
26+
27+
---
628

729
## Installation
830

9-
```bash
10-
pip install pyatlan
11-
```
31+
=== "pip"
32+
33+
```bash
34+
pip install pyatlan
35+
```
36+
37+
=== "uv"
38+
39+
```bash
40+
uv add pyatlan
41+
```
42+
43+
=== "uv (dev)"
44+
45+
```bash
46+
git clone https://github.com/atlanhq/atlan-python.git
47+
cd atlan-python
48+
uv sync --group dev
49+
```
1250

13-
## Quick start
51+
---
52+
53+
## Quick Start
1454

1555
```python
1656
from pyatlan.client import AtlanClient
1757

18-
client = AtlanClient(base_url="https://<your-tenant>.atlan.com", api_key="<your-api-key>")
58+
# Initialize the client
59+
client = AtlanClient(
60+
base_url="https://<your-tenant>.atlan.com",
61+
api_key="<your-api-key>",
62+
)
63+
64+
# Search for assets
65+
from pyatlan.model.fluent_search import FluentSearch
66+
from pyatlan.model.assets import Table
67+
68+
response = client.asset.search(
69+
FluentSearch()
70+
.where(FluentSearch.asset_type(Table))
71+
.where(FluentSearch.active_assets())
72+
.page_size(10)
73+
.to_request()
74+
)
75+
76+
for asset in response:
77+
print(asset.name, asset.qualified_name)
1978
```
2079

21-
## API Reference
80+
---
81+
82+
## Features
83+
84+
<div class="grid cards" markdown>
85+
86+
- :material-magnify:{ .lg .middle } **Search & Discover**
87+
88+
---
89+
90+
Full-text and structured search across all your data assets — tables, dashboards, glossary terms, and more.
91+
92+
- :material-shield-check:{ .lg .middle } **Data Governance**
93+
94+
---
95+
96+
Manage access control, business policies, data contracts, lineage, and custom metadata at scale.
97+
98+
- :material-connection:{ .lg .middle } **260+ Asset Types**
99+
100+
---
101+
102+
First-class support for Snowflake, Databricks, dbt, Tableau, Looker, PowerBI, Kafka, S3, and many more.
103+
104+
- :material-lightning-bolt:{ .lg .middle } **Async Support**
105+
106+
---
107+
108+
All client methods available in both sync and async flavors via `pyatlan.client.aio`.
109+
110+
- :material-lock:{ .lg .middle } **Type Safe**
111+
112+
---
113+
114+
Full `py.typed` marker, strict Pydantic v2 models, and comprehensive type stubs (`.pyi`).
115+
116+
- :material-package-variant:{ .lg .middle } **Minimal Dependencies**
117+
118+
---
119+
120+
Only what you need: `httpx`, `pydantic`, `authlib`, `msgspec`, and a few more.
121+
122+
</div>
123+
124+
---
125+
126+
## What's in this SDK?
127+
128+
| Module | Description |
129+
|--------|-------------|
130+
| [`AtlanClient`][pyatlan.client.atlan.AtlanClient] | Main entry point — all sub-clients live here |
131+
| `pyatlan.model.assets` | 260+ asset model classes (Table, Column, Dashboard, …) |
132+
| `pyatlan.model.search` | `IndexSearchRequest`, `Bool`, `Term`, and other DSL builders |
133+
| `pyatlan.model.fluent_search` | Fluent builder API for composing searches |
134+
| `pyatlan.cache` | In-memory caches for tags, metadata, groups, roles, users |
135+
| `pyatlan.events` | Lambda / event-handler base classes |
136+
| `pyatlan.model.typedef` | TypeDef management (custom metadata, enums, structs) |
137+
138+
---
139+
140+
## Project Stats
141+
142+
- :snake: **Python**: 3.9 · 3.10 · 3.11 · 3.12 · 3.13
143+
- :package: **Stability**: Production-ready (`5 - Production/Stable`)
144+
- :scales: **License**: Apache 2.0
145+
- :rocket: **Async**: Native async/await support
146+
147+
---
148+
149+
## Contributing
150+
151+
```bash
152+
# Fork & clone
153+
git clone https://github.com/atlanhq/atlan-python.git
154+
cd atlan-python
155+
156+
# Install dev dependencies
157+
uv sync --group dev
158+
159+
# Run tests
160+
uv run pytest tests/unit
161+
162+
# Run all QA checks (lint, type-check, format)
163+
uv run ./qa-checks
164+
```
22165

23-
See the **API Reference** section in the navigation for full documentation of all classes and methods.
166+
See [CONTRIBUTING.md](https://github.com/atlanhq/atlan-python/blob/main/CONTRIBUTING.md) on GitHub.

mkdocs.yml

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,68 @@
11
site_name: pyatlan
2-
site_description: The official Python SDK for Atlan
2+
site_description: The official Python SDK for Atlan — search, discover, govern your data assets
33
site_url: https://atlanhq.github.io/atlan-python/
44
repo_url: https://github.com/atlanhq/atlan-python
55
repo_name: atlanhq/atlan-python
6+
edit_uri: edit/main/docs/
67

78
theme:
89
name: material
10+
logo: https://github.com/user-attachments/assets/38243809-d723-4464-8f1c-4869795ea0c8
11+
favicon: https://github.com/user-attachments/assets/38243809-d723-4464-8f1c-4869795ea0c8
912
palette:
1013
- scheme: default
11-
primary: indigo
14+
primary: deep purple
1215
accent: indigo
1316
toggle:
14-
icon: material/brightness-7
17+
icon: material/weather-night
1518
name: Switch to dark mode
1619
- scheme: slate
17-
primary: indigo
20+
primary: deep purple
1821
accent: indigo
1922
toggle:
20-
icon: material/brightness-4
23+
icon: material/weather-sunny
2124
name: Switch to light mode
2225
features:
2326
- navigation.tabs
27+
- navigation.tabs.sticky
2428
- navigation.sections
29+
- navigation.expand
2530
- navigation.top
31+
- navigation.footer
32+
- navigation.indexes
33+
- toc.follow
2634
- search.highlight
2735
- search.suggest
36+
- search.share
2837
- content.code.copy
38+
- content.code.annotate
39+
- content.tabs.link
40+
- announce.dismiss
41+
42+
markdown_extensions:
43+
- admonition
44+
- pymdownx.details
45+
- pymdownx.superfences
46+
- pymdownx.highlight:
47+
anchor_linenums: true
48+
line_spans: __span
49+
pygments_lang_class: true
50+
- pymdownx.inlinehilite
51+
- pymdownx.snippets
52+
- pymdownx.tabbed:
53+
alternate_style: true
54+
- pymdownx.emoji:
55+
emoji_index: !!python/name:material.extensions.emoji.twemoji
56+
emoji_generator: !!python/name:material.extensions.emoji.to_svg
57+
- attr_list
58+
- md_in_html
59+
- tables
60+
- toc:
61+
permalink: true
2962

3063
plugins:
31-
- search
64+
- search:
65+
separator: '[\s\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
3266
- mkdocstrings:
3367
handlers:
3468
python:
@@ -41,6 +75,8 @@ plugins:
4175
members_order: alphabetical
4276
filters:
4377
- "!^_"
78+
merge_init_into_class: true
79+
show_signature_annotations: true
4480

4581
nav:
4682
- Home: index.md

0 commit comments

Comments
 (0)