Scrapegraph-ai/pyproject.toml
semantic-release-bot 93b3c5d2bf ci(release): 1.64.0 [skip ci]
## [1.64.0](https://github.com/ScrapeGraphAI/Scrapegraph-ai/compare/v1.63.1...v1.64.0) (2025-11-06)

### Features

* Add configurable timeout to FetchNode ([e81a4ed](e81a4ed745))
2025-11-06 21:07:54 +00:00

123 lines
2.8 KiB
TOML

[project]
name = "scrapegraphai"
version = "1.64.0"
description = "A web scraping library based on LangChain which uses LLM and direct graph logic to create scraping pipelines."
authors = [
{ name = "Marco Vinciguerra", email = "mvincig11@gmail.com" },
{ name = "Lorenzo Padoan", email = "lorenzo.padoan977@gmail.com" }
]
dependencies = [
"langchain>=0.3.0",
"langchain-openai>=0.1.22",
"langchain-mistralai>=0.1.12",
"langchain_community>=0.2.9",
"langchain-aws>=0.1.3",
"langchain-ollama>=0.1.3",
"html2text>=2024.2.26",
"beautifulsoup4>=4.12.3",
"python-dotenv>=1.0.1",
"tiktoken>=0.7",
"tqdm>=4.66.4",
"minify-html>=0.15.0",
"free-proxy>=1.1.1",
"playwright>=1.43.0",
"undetected-playwright>=0.3.0",
"semchunk>=2.2.0",
"async-timeout>=4.0.3",
"simpleeval>=1.0.0",
"jsonschema>=4.23.0",
"duckduckgo-search>=7.2.1",
"pydantic>=2.10.2",
"scrapegraph-py>=0.1.0",
]
readme = "README.md"
homepage = "https://scrapegraphai.com/"
repository = "https://github.com/ScrapeGraphAI/Scrapegraph-ai"
documentation = "https://scrapegraph-ai.readthedocs.io/en/latest/"
keywords = [
"scrapegraph",
"scrapegraphai",
"langchain",
"ai",
"artificial intelligence",
"gpt",
"machine learning",
"rag",
"nlp",
"natural language processing",
"openai",
"scraping",
"web scraping",
"web scraping library",
"web scraping tool",
"webscraping",
"graph",
"llm"
]
classifiers = [
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
]
requires-python = ">=3.10,<4.0"
[project.optional-dependencies]
burr = ["burr[start]==0.22.1"]
docs = ["sphinx==6.0", "furo==2024.5.6"]
ocr = [
"surya-ocr>=0.5.0",
"matplotlib>=3.7.2",
"ipywidgets>=8.1.0",
"pillow>=10.4.0",
]
[build-system]
requires = ["hatchling==1.26.3"]
build-backend = "hatchling.build"
[tool.uv]
dev-dependencies = [
"pytest>=8.0.0",
"pytest-mock>=3.14.0",
"pytest-asyncio>=0.25.0",
"pytest-sugar>=1.0.0",
"pytest-cov>=4.1.0",
"pylint>=3.2.5",
"poethepoet>=0.32.0",
"black>=24.2.0",
"ruff>=0.2.0",
"isort>=5.13.2",
"pre-commit>=3.6.0",
"mypy>=1.8.0",
"types-setuptools>=75.1.0"
]
[tool.black]
line-length = 88
target-version = ["py310"]
[tool.isort]
profile = "black"
[tool.ruff]
line-length = 88
[tool.ruff.lint]
select = ["F", "E", "W", "C"]
ignore = ["E203", "E501", "C901"] # Ignore conflicts with Black
[tool.mypy]
python_version = "3.10"
strict = true
disallow_untyped_calls = true
ignore_missing_imports = true
[tool.poe.tasks]
pylint-local = "pylint scraperaphai/**/*.py"
pylint-ci = "pylint --disable=C0114,C0115,C0116 --exit-zero scrapegraphai/**/*.py"