chore(deps): upgrade to Python 3.12 and prepare for 0.6.0 release
- Update Docker base image to Python 3.12-slim-bookworm - Bump version from 0.6.0rc1 to 0.6.0 - Update documentation to reflect release version changes - Fix license specification in pyproject.toml and setup.py - Clean up code formatting in demo_docker_api.py BREAKING CHANGE: Base Python version upgraded from 3.10 to 3.12
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
FROM python:3.10-slim
|
FROM python:3.12-slim-bookworm AS build
|
||||||
|
|
||||||
# C4ai version
|
# C4ai version
|
||||||
ARG C4AI_VER=0.6.0
|
ARG C4AI_VER=0.6.0
|
||||||
@@ -22,7 +22,7 @@ ENV PYTHONFAULTHANDLER=1 \
|
|||||||
REDIS_HOST=localhost \
|
REDIS_HOST=localhost \
|
||||||
REDIS_PORT=6379
|
REDIS_PORT=6379
|
||||||
|
|
||||||
ARG PYTHON_VERSION=3.10
|
ARG PYTHON_VERSION=3.12
|
||||||
ARG INSTALL_TYPE=default
|
ARG INSTALL_TYPE=default
|
||||||
ARG ENABLE_GPU=false
|
ARG ENABLE_GPU=false
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
@@ -71,6 +71,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get dist-upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN if [ "$ENABLE_GPU" = "true" ] && [ "$TARGETARCH" = "amd64" ] ; then \
|
RUN if [ "$ENABLE_GPU" = "true" ] && [ "$TARGETARCH" = "amd64" ] ; then \
|
||||||
apt-get update && apt-get install -y --no-install-recommends \
|
apt-get update && apt-get install -y --no-install-recommends \
|
||||||
nvidia-cuda-toolkit \
|
nvidia-cuda-toolkit \
|
||||||
|
|||||||
@@ -269,8 +269,8 @@ The new Docker implementation includes:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Pull and run the latest release candidate
|
# Pull and run the latest release candidate
|
||||||
docker pull unclecode/crawl4ai:0.6.0rc1-r1
|
docker pull unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number
|
||||||
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:0.6.0rc1-r1
|
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number
|
||||||
|
|
||||||
# Visit the playground at http://localhost:11235/playground
|
# Visit the playground at http://localhost:11235/playground
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# crawl4ai/_version.py
|
# crawl4ai/_version.py
|
||||||
__version__ = "0.6.0rc1"
|
__version__ = "0.6.0"
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ Our latest release candidate is `0.6.0rc1-r1`. Images are built with multi-arch
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Pull the release candidate (recommended for latest features)
|
# Pull the release candidate (recommended for latest features)
|
||||||
docker pull unclecode/crawl4ai:0.6.0rc1-r1
|
docker pull unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number
|
||||||
|
|
||||||
# Or pull the latest stable version
|
# Or pull the latest stable version
|
||||||
docker pull unclecode/crawl4ai:latest
|
docker pull unclecode/crawl4ai:latest
|
||||||
@@ -99,7 +99,7 @@ EOL
|
|||||||
-p 11235:11235 \
|
-p 11235:11235 \
|
||||||
--name crawl4ai \
|
--name crawl4ai \
|
||||||
--shm-size=1g \
|
--shm-size=1g \
|
||||||
unclecode/crawl4ai:0.6.0rc1-r1
|
unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number
|
||||||
```
|
```
|
||||||
|
|
||||||
* **With LLM support:**
|
* **With LLM support:**
|
||||||
@@ -110,7 +110,7 @@ EOL
|
|||||||
--name crawl4ai \
|
--name crawl4ai \
|
||||||
--env-file .llm.env \
|
--env-file .llm.env \
|
||||||
--shm-size=1g \
|
--shm-size=1g \
|
||||||
unclecode/crawl4ai:0.6.0rc1-r1
|
unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number
|
||||||
```
|
```
|
||||||
|
|
||||||
> The server will be available at `http://localhost:11235`. Visit `/playground` to access the interactive testing interface.
|
> The server will be available at `http://localhost:11235`. Visit `/playground` to access the interactive testing interface.
|
||||||
@@ -160,7 +160,7 @@ The `docker-compose.yml` file in the project root provides a simplified approach
|
|||||||
```bash
|
```bash
|
||||||
# Pulls and runs the release candidate from Docker Hub
|
# Pulls and runs the release candidate from Docker Hub
|
||||||
# Automatically selects the correct architecture
|
# Automatically selects the correct architecture
|
||||||
IMAGE=unclecode/crawl4ai:0.6.0rc1-r1 docker compose up -d
|
IMAGE=unclecode/crawl4ai:0.6.0-rN # Use your favorite revision number docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
* **Build and Run Locally:**
|
* **Build and Run Locally:**
|
||||||
|
|||||||
@@ -398,7 +398,6 @@ async def demo_param_js_execution(client: httpx.AsyncClient):
|
|||||||
elif results:
|
elif results:
|
||||||
console.print("[yellow]JS Execution Result not found in response.[/]")
|
console.print("[yellow]JS Execution Result not found in response.[/]")
|
||||||
|
|
||||||
|
|
||||||
async def demo_param_screenshot(client: httpx.AsyncClient):
|
async def demo_param_screenshot(client: httpx.AsyncClient):
|
||||||
payload = {
|
payload = {
|
||||||
"urls": [SIMPLE_URL],
|
"urls": [SIMPLE_URL],
|
||||||
@@ -430,8 +429,6 @@ async def demo_param_ssl_fetch(client: httpx.AsyncClient):
|
|||||||
elif results:
|
elif results:
|
||||||
console.print("[yellow]SSL Certificate data not found in response.[/]")
|
console.print("[yellow]SSL Certificate data not found in response.[/]")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async def demo_param_proxy(client: httpx.AsyncClient):
|
async def demo_param_proxy(client: httpx.AsyncClient):
|
||||||
proxy_params_list = load_proxies_from_env() # Get the list of parameter dicts
|
proxy_params_list = load_proxies_from_env() # Get the list of parameter dicts
|
||||||
if not proxy_params_list:
|
if not proxy_params_list:
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ dynamic = ["version"]
|
|||||||
description = "🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler & scraper"
|
description = "🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler & scraper"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.9"
|
requires-python = ">=3.9"
|
||||||
license = {text = "Apache-2.0"}
|
license = "Apache-2.0"
|
||||||
authors = [
|
authors = [
|
||||||
{name = "Unclecode", email = "unclecode@kidocode.com"}
|
{name = "Unclecode", email = "unclecode@kidocode.com"}
|
||||||
]
|
]
|
||||||
@@ -48,7 +48,6 @@ dependencies = [
|
|||||||
classifiers = [
|
classifiers = [
|
||||||
"Development Status :: 4 - Beta",
|
"Development Status :: 4 - Beta",
|
||||||
"Intended Audience :: Developers",
|
"Intended Audience :: Developers",
|
||||||
"License :: OSI Approved :: Apache Software License",
|
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"Programming Language :: Python :: 3.9",
|
"Programming Language :: Python :: 3.9",
|
||||||
"Programming Language :: Python :: 3.10",
|
"Programming Language :: Python :: 3.10",
|
||||||
|
|||||||
3
setup.py
3
setup.py
@@ -49,13 +49,12 @@ setup(
|
|||||||
url="https://github.com/unclecode/crawl4ai",
|
url="https://github.com/unclecode/crawl4ai",
|
||||||
author="Unclecode",
|
author="Unclecode",
|
||||||
author_email="unclecode@kidocode.com",
|
author_email="unclecode@kidocode.com",
|
||||||
license="MIT",
|
license="Apache-2.0",
|
||||||
packages=find_packages(),
|
packages=find_packages(),
|
||||||
package_data={"crawl4ai": ["js_snippet/*.js"]},
|
package_data={"crawl4ai": ["js_snippet/*.js"]},
|
||||||
classifiers=[
|
classifiers=[
|
||||||
"Development Status :: 3 - Alpha",
|
"Development Status :: 3 - Alpha",
|
||||||
"Intended Audience :: Developers",
|
"Intended Audience :: Developers",
|
||||||
"License :: OSI Approved :: Apache Software License",
|
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"Programming Language :: Python :: 3.9",
|
"Programming Language :: Python :: 3.9",
|
||||||
"Programming Language :: Python :: 3.10",
|
"Programming Language :: Python :: 3.10",
|
||||||
|
|||||||
Reference in New Issue
Block a user