Skip to content

Commit 81b0110

Browse files
authored
docs: fix broken relative links on the SDK overview page (#994)
The overview page links to other docs with relative paths like `../concepts/...`. Because the page sets `slug: /overview`, its URL is flattened to `/sdk/python/docs/overview`, so each `../` over-traverses and drops the `/docs/` segment. The result is broken links such as `/sdk/python/concepts/actor-lifecycle` instead of `/sdk/python/docs/concepts/actor-lifecycle`. This corrects the relative depth to match the flattened URL (`./concepts/...`, `./guides/...`), keeping the path-based link style. It also gives the quick start page its own `slug: /quick-start`, so it is served at `/sdk/python/docs/quick-start` instead of `/sdk/python/docs/introduction/quick-start`. The overview link goes back to `./quick-start`, and the one cross-link from the v1.7 requests-and-httpx guide is updated to match. Applied to the current docs and to all versioned snapshots (3.4, 2.7, 1.7, 0.2). The live page is served from the latest release (3.4), so it is fixed too.
1 parent 42bd110 commit 81b0110

8 files changed

Lines changed: 29 additions & 24 deletions

File tree

docs/01_introduction/index.mdx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,22 @@ For more context, read the [Actor whitepaper](https://whitepaper.actor/).
2525

2626
## Features
2727

28-
- Run the full Actor lifecycle inside `async with Actor:`, covering init, exit, failures, status messages, rebooting, and metamorphing ([Actor lifecycle](../concepts/actor-lifecycle)).
29-
- Read Actor input validated against your input schema with `Actor.get_input()`, including automatic decryption of secret fields ([Actor input](../concepts/actor-input)).
30-
- Read and write datasets, key-value stores, and request queues, locally or on the platform ([Working with storages](../concepts/storages)).
31-
- React to platform events such as system info, migration, and abort, and persist state across migrations and restarts ([Actor events](../concepts/actor-events)).
32-
- Route requests through Apify Proxy with group selection, country targeting, and rotation, with session and tiered-proxy support ([Proxy management](../concepts/proxy-management)).
33-
- Start, call, and abort other Actors and tasks, and attach webhooks to run events ([Interacting with other Actors](../concepts/interacting-with-other-actors), [Webhooks](../concepts/webhooks)).
34-
- Monetize your Actor with pay-per-event charging ([Pay-per-event](../concepts/pay-per-event)).
35-
- Reach the full [Apify API](https://docs.apify.com/api/v2) through a preconfigured `ApifyClient` ([Accessing the Apify API](../concepts/access-apify-api)).
28+
- Run the full Actor lifecycle inside `async with Actor:`, covering init, exit, failures, status messages, rebooting, and metamorphing ([Actor lifecycle](./concepts/actor-lifecycle)).
29+
- Read Actor input validated against your input schema with `Actor.get_input()`, including automatic decryption of secret fields ([Actor input](./concepts/actor-input)).
30+
- Read and write datasets, key-value stores, and request queues, locally or on the platform ([Working with storages](./concepts/storages)).
31+
- React to platform events such as system info, migration, and abort, and persist state across migrations and restarts ([Actor events](./concepts/actor-events)).
32+
- Route requests through Apify Proxy with group selection, country targeting, and rotation, with session and tiered-proxy support ([Proxy management](./concepts/proxy-management)).
33+
- Start, call, and abort other Actors and tasks, and attach webhooks to run events ([Interacting with other Actors](./concepts/interacting-with-other-actors), [Webhooks](./concepts/webhooks)).
34+
- Monetize your Actor with pay-per-event charging ([Pay-per-event](./concepts/pay-per-event)).
35+
- Reach the full [Apify API](https://docs.apify.com/api/v2) through a preconfigured `ApifyClient` ([Accessing the Apify API](./concepts/access-apify-api)).
3636

3737
## What you can build
3838

3939
Almost any Python project can become an Actor, including projects for:
4040

41-
- **Web scraping and crawling** - The SDK is fully compatible with [Crawlee](https://crawlee.dev/python), which makes Apify a natural place to deploy and scale your crawlers (see the [Crawlee guide](../guides/crawlee)). It also works with other popular scraping libraries, such as [Scrapy](../guides/scrapy), [Scrapling](../guides/scrapling), or [Crawl4AI](../guides/crawl4ai).
42-
- **Browser automation** - Drive a real browser with [Playwright](../guides/playwright) or [Selenium](../guides/selenium), or with higher-level tools such as [Browser Use](../guides/browser-use).
43-
- **Web servers and APIs** - Run a [web server](../guides/running-webserver) inside an Actor to serve HTTP requests, for example to expose your scraper as a live API.
41+
- **Web scraping and crawling** - The SDK is fully compatible with [Crawlee](https://crawlee.dev/python), which makes Apify a natural place to deploy and scale your crawlers (see the [Crawlee guide](./guides/crawlee)). It also works with other popular scraping libraries, such as [Scrapy](./guides/scrapy), [Scrapling](./guides/scrapling), or [Crawl4AI](./guides/crawl4ai).
42+
- **Browser automation** - Drive a real browser with [Playwright](./guides/playwright) or [Selenium](./guides/selenium), or with higher-level tools such as [Browser Use](./guides/browser-use).
43+
- **Web servers and APIs** - Run a [web server](./guides/running-webserver) inside an Actor to serve HTTP requests, for example to expose your scraper as a live API.
4444
- **AI agents** - Host agents built with your framework of choice. Ready-made Actor templates cover [PydanticAI](https://apify.com/templates/python-pydanticai), [CrewAI](https://apify.com/templates/python-crewai), [LangGraph](https://apify.com/templates/python-langgraph), [LlamaIndex](https://apify.com/templates/python-llamaindex-agent), and [Smolagents](https://apify.com/templates/python-smolagents).
4545
- **MCP servers** - Deploy a Python MCP server as an Actor and make its tools available to any MCP client. See the [MCP server](https://apify.com/templates/python-mcp-empty) and [MCP proxy](https://apify.com/templates/python-mcp-proxy) templates.
4646

docs/01_introduction/quick-start.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
id: quick-start
33
title: Quick start
4+
slug: /quick-start
45
description: Get started with the Apify SDK for Python by creating your first Actor and learning the basics.
56
---
67

website/versioned_docs/version-0.2/01-introduction/quick-start.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
id: quick-start
33
title: Quick start
4+
slug: /quick-start
45
sidebar_label: Quick start
56
description: 'Get started with the Apify SDK for Python by creating your first Actor and learning the basics.'
67
---

website/versioned_docs/version-1.7/01-introduction/quick-start.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
id: quick-start
33
title: Quick start
4+
slug: /quick-start
45
sidebar_label: Quick start
56
description: 'Get started with the Apify SDK for Python by creating your first Actor and learning the basics.'
67
---

website/versioned_docs/version-1.7/02-guides/01-requests-and-httpx.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The [`requests`](https://requests.readthedocs.io) library is one of the most pop
1616

1717
To use it in your Actors, no special configuration is needed.
1818
Just put `requests` in your `requirements.txt` file,
19-
[reinstall dependencies](../introduction/quick-start#adding-dependencies) if you're running the Actor locally,
19+
[reinstall dependencies](../quick-start#adding-dependencies) if you're running the Actor locally,
2020
and you're good to go.
2121

2222
```python title="src/main.py"
@@ -62,7 +62,7 @@ making it ideal for large-scale, parallel web scraping.
6262

6363
To use it in your Actors, no special configuration is needed.
6464
Just put `httpx` in your `requirements.txt` file,
65-
[reinstall dependencies](../introduction/quick-start#adding-dependencies) if you're running the Actor locally,
65+
[reinstall dependencies](../quick-start#adding-dependencies) if you're running the Actor locally,
6666
and you're good to go.
6767

6868
```python title="src/main.py"

website/versioned_docs/version-2.7/01_introduction/quick-start.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
id: quick-start
33
title: Quick start
4+
slug: /quick-start
45
sidebar_label: Quick start
56
description: 'Get started with the Apify SDK for Python by creating your first Actor and learning the basics.'
67
---

website/versioned_docs/version-3.4/01_introduction/index.mdx

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,22 @@ For more context, read the [Actor whitepaper](https://whitepaper.actor/).
2525

2626
## Features
2727

28-
- Run the full Actor lifecycle inside `async with Actor:`, covering init, exit, failures, status messages, rebooting, and metamorphing ([Actor lifecycle](../concepts/actor-lifecycle)).
29-
- Read Actor input validated against your input schema with `Actor.get_input()`, including automatic decryption of secret fields ([Actor input](../concepts/actor-input)).
30-
- Read and write datasets, key-value stores, and request queues, locally or on the platform ([Working with storages](../concepts/storages)).
31-
- React to platform events such as system info, migration, and abort, and persist state across migrations and restarts ([Actor events](../concepts/actor-events)).
32-
- Route requests through Apify Proxy with group selection, country targeting, and rotation, with session and tiered-proxy support ([Proxy management](../concepts/proxy-management)).
33-
- Start, call, and abort other Actors and tasks, and attach webhooks to run events ([Interacting with other Actors](../concepts/interacting-with-other-actors), [Webhooks](../concepts/webhooks)).
34-
- Monetize your Actor with pay-per-event charging ([Pay-per-event](../concepts/pay-per-event)).
35-
- Reach the full [Apify API](https://docs.apify.com/api/v2) through a preconfigured `ApifyClient` ([Accessing the Apify API](../concepts/access-apify-api)).
28+
- Run the full Actor lifecycle inside `async with Actor:`, covering init, exit, failures, status messages, rebooting, and metamorphing ([Actor lifecycle](./concepts/actor-lifecycle)).
29+
- Read Actor input validated against your input schema with `Actor.get_input()`, including automatic decryption of secret fields ([Actor input](./concepts/actor-input)).
30+
- Read and write datasets, key-value stores, and request queues, locally or on the platform ([Working with storages](./concepts/storages)).
31+
- React to platform events such as system info, migration, and abort, and persist state across migrations and restarts ([Actor events](./concepts/actor-events)).
32+
- Route requests through Apify Proxy with group selection, country targeting, and rotation, with session and tiered-proxy support ([Proxy management](./concepts/proxy-management)).
33+
- Start, call, and abort other Actors and tasks, and attach webhooks to run events ([Interacting with other Actors](./concepts/interacting-with-other-actors), [Webhooks](./concepts/webhooks)).
34+
- Monetize your Actor with pay-per-event charging ([Pay-per-event](./concepts/pay-per-event)).
35+
- Reach the full [Apify API](https://docs.apify.com/api/v2) through a preconfigured `ApifyClient` ([Accessing the Apify API](./concepts/access-apify-api)).
3636

3737
## What you can build
3838

3939
Almost any Python project can become an Actor, including projects for:
4040

41-
- **Web scraping and crawling** - The SDK is fully compatible with [Crawlee](https://crawlee.dev/python), which makes Apify a natural place to deploy and scale your crawlers (see the [Crawlee guide](../guides/crawlee)). It also works with other popular scraping libraries, such as [Scrapy](../guides/scrapy), [Scrapling](../guides/scrapling), or [Crawl4AI](../guides/crawl4ai).
42-
- **Browser automation** - Drive a real browser with [Playwright](../guides/playwright) or [Selenium](../guides/selenium), or with higher-level tools such as [Browser Use](../guides/browser-use).
43-
- **Web servers and APIs** - Run a [web server](../guides/running-webserver) inside an Actor to serve HTTP requests, for example to expose your scraper as a live API.
41+
- **Web scraping and crawling** - The SDK is fully compatible with [Crawlee](https://crawlee.dev/python), which makes Apify a natural place to deploy and scale your crawlers (see the [Crawlee guide](./guides/crawlee)). It also works with other popular scraping libraries, such as [Scrapy](./guides/scrapy), [Scrapling](./guides/scrapling), or [Crawl4AI](./guides/crawl4ai).
42+
- **Browser automation** - Drive a real browser with [Playwright](./guides/playwright) or [Selenium](./guides/selenium), or with higher-level tools such as [Browser Use](./guides/browser-use).
43+
- **Web servers and APIs** - Run a [web server](./guides/running-webserver) inside an Actor to serve HTTP requests, for example to expose your scraper as a live API.
4444
- **AI agents** - Host agents built with your framework of choice. Ready-made Actor templates cover [PydanticAI](https://apify.com/templates/python-pydanticai), [CrewAI](https://apify.com/templates/python-crewai), [LangGraph](https://apify.com/templates/python-langgraph), [LlamaIndex](https://apify.com/templates/python-llamaindex-agent), and [Smolagents](https://apify.com/templates/python-smolagents).
4545
- **MCP servers** - Deploy a Python MCP server as an Actor and make its tools available to any MCP client. See the [MCP server](https://apify.com/templates/python-mcp-empty) and [MCP proxy](https://apify.com/templates/python-mcp-proxy) templates.
4646

website/versioned_docs/version-3.4/01_introduction/quick-start.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
id: quick-start
33
title: Quick start
4+
slug: /quick-start
45
description: Get started with the Apify SDK for Python by creating your first Actor and learning the basics.
56
---
67

0 commit comments

Comments
 (0)