From 1de53cc4d0b98b8d61b9c8a592aba1c60840e2b6 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Sun, 26 May 2024 18:15:05 -0700 Subject: [PATCH] Nick: fixes --- .../dist/firecrawl-py-0.0.10.tar.gz | Bin 5356 -> 0 bytes .../dist/firecrawl-py-0.0.11.tar.gz | Bin 0 -> 6486 bytes .../dist/firecrawl_py-0.0.10-py3-none-any.whl | Bin 4161 -> 0 bytes .../dist/firecrawl_py-0.0.11-py3-none-any.whl | Bin 0 -> 6212 bytes .../python-sdk/firecrawl_py.egg-info/PKG-INFO | 155 +++++++++++++++++- apps/python-sdk/setup.py | 6 +- 6 files changed, 157 insertions(+), 4 deletions(-) delete mode 100644 apps/python-sdk/dist/firecrawl-py-0.0.10.tar.gz create mode 100644 apps/python-sdk/dist/firecrawl-py-0.0.11.tar.gz delete mode 100644 apps/python-sdk/dist/firecrawl_py-0.0.10-py3-none-any.whl create mode 100644 apps/python-sdk/dist/firecrawl_py-0.0.11-py3-none-any.whl diff --git a/apps/python-sdk/dist/firecrawl-py-0.0.10.tar.gz b/apps/python-sdk/dist/firecrawl-py-0.0.10.tar.gz deleted file mode 100644 index 59e42d15d1c8be849312b82375296c14525340d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5356 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 E4^1)K*Z=?k diff --git a/apps/python-sdk/dist/firecrawl-py-0.0.11.tar.gz b/apps/python-sdk/dist/firecrawl-py-0.0.11.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3dd82a93beece2dabb027ac75c62aa679d2f1a0f GIT binary patch literal 6486 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 P80hKjTOHCB64L(xRtnh| literal 0 HcmV?d00001 diff --git a/apps/python-sdk/dist/firecrawl_py-0.0.10-py3-none-any.whl b/apps/python-sdk/dist/firecrawl_py-0.0.10-py3-none-any.whl deleted file mode 100644 index 36676fe13fdd4260d9ca6decb804ef29aae495a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4161 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 F^nbsdBE|p! diff --git a/apps/python-sdk/dist/firecrawl_py-0.0.11-py3-none-any.whl b/apps/python-sdk/dist/firecrawl_py-0.0.11-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..4d7e3aacd02369253784efb5ab05decd52cdf692 GIT binary patch literal 6212 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 literal 0 HcmV?d00001 diff --git a/apps/python-sdk/firecrawl_py.egg-info/PKG-INFO b/apps/python-sdk/firecrawl_py.egg-info/PKG-INFO index 16af620ab..7d4b83503 100644 --- a/apps/python-sdk/firecrawl_py.egg-info/PKG-INFO +++ b/apps/python-sdk/firecrawl_py.egg-info/PKG-INFO @@ -1,7 +1,160 @@ Metadata-Version: 2.1 Name: firecrawl-py -Version: 0.0.10 +Version: 0.0.11 Summary: Python SDK for Firecrawl API Home-page: https://github.com/mendableai/firecrawl Author: Mendable.ai Author-email: nick@mendable.ai +License: GNU General Public License v3 (GPLv3) +Project-URL: Documentation, https://docs.firecrawl.dev +Project-URL: Source, https://github.com/mendableai/firecrawl +Project-URL: Tracker, https://github.com/mendableai/firecrawl/issues +Keywords: SDK API firecrawl +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3) +Classifier: Natural Language :: English +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Topic :: Internet +Classifier: Topic :: Internet :: WWW/HTTP +Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search +Classifier: Topic :: Software Development +Classifier: Topic :: Software Development :: Libraries +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing +Classifier: Topic :: Text Processing :: Indexing +Requires-Python: >=3.8 +Description-Content-Type: text/markdown + +# Firecrawl Python SDK + +The Firecrawl Python SDK is a library that allows you to easily scrape and crawl websites, and output the data in a format ready for use with language models (LLMs). It provides a simple and intuitive interface for interacting with the Firecrawl API. + +## Installation + +To install the Firecrawl Python SDK, you can use pip: + +```bash +pip install firecrawl-py +``` + +## Usage + +1. Get an API key from [firecrawl.dev](https://firecrawl.dev) +2. Set the API key as an environment variable named `FIRECRAWL_API_KEY` or pass it as a parameter to the `FirecrawlApp` class. + + +Here's an example of how to use the SDK: + +```python +from firecrawl import FirecrawlApp + +# Initialize the FirecrawlApp with your API key +app = FirecrawlApp(api_key='your_api_key') + +# Scrape a single URL +url = 'https://mendable.ai' +scraped_data = app.scrape_url(url) + +# Crawl a website +crawl_url = 'https://mendable.ai' +params = { + 'pageOptions': { + 'onlyMainContent': True + } +} +crawl_result = app.crawl_url(crawl_url, params=params) +``` + +### Scraping a URL + +To scrape a single URL, use the `scrape_url` method. It takes the URL as a parameter and returns the scraped data as a dictionary. + +```python +url = 'https://example.com' +scraped_data = app.scrape_url(url) +``` +### Extracting structured data from a URL + +With LLM extraction, you can easily extract structured data from any URL. We support pydantic schemas to make it easier for you too. Here is how you to use it: + +```python +class ArticleSchema(BaseModel): + title: str + points: int + by: str + commentsURL: str + +class TopArticlesSchema(BaseModel): + top: List[ArticleSchema] = Field(..., max_items=5, description="Top 5 stories") + +data = app.scrape_url('https://news.ycombinator.com', { + 'extractorOptions': { + 'extractionSchema': TopArticlesSchema.model_json_schema(), + 'mode': 'llm-extraction' + }, + 'pageOptions':{ + 'onlyMainContent': True + } +}) +print(data["llm_extraction"]) +``` + +### Search for a query + +Used to search the web, get the most relevant results, scrap each page and return the markdown. + +```python +query = 'what is mendable?' +search_result = app.search(query) +``` + +### Crawling a Website + +To crawl a website, use the `crawl_url` method. It takes the starting URL and optional parameters as arguments. The `params` argument allows you to specify additional options for the crawl job, such as the maximum number of pages to crawl, allowed domains, and the output format. + +The `wait_until_done` parameter determines whether the method should wait for the crawl job to complete before returning the result. If set to `True`, the method will periodically check the status of the crawl job until it is completed or the specified `timeout` (in seconds) is reached. If set to `False`, the method will return immediately with the job ID, and you can manually check the status of the crawl job using the `check_crawl_status` method. + +```python +crawl_url = 'https://example.com' +params = { + 'crawlerOptions': { + 'excludes': ['blog/*'], + 'includes': [], # leave empty for all pages + 'limit': 1000, + }, + 'pageOptions': { + 'onlyMainContent': True + } +} +crawl_result = app.crawl_url(crawl_url, params=params, wait_until_done=True, timeout=5) +``` + +If `wait_until_done` is set to `True`, the `crawl_url` method will return the crawl result once the job is completed. If the job fails or is stopped, an exception will be raised. + +### Checking Crawl Status + +To check the status of a crawl job, use the `check_crawl_status` method. It takes the job ID as a parameter and returns the current status of the crawl job. + +```python +job_id = crawl_result['jobId'] +status = app.check_crawl_status(job_id) +``` + +## Error Handling + +The SDK handles errors returned by the Firecrawl API and raises appropriate exceptions. If an error occurs during a request, an exception will be raised with a descriptive error message. + +## Contributing + +Contributions to the Firecrawl Python SDK are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository. + +## License + +The Firecrawl Python SDK is open-source and released under the [MIT License](https://opensource.org/licenses/MIT). diff --git a/apps/python-sdk/setup.py b/apps/python-sdk/setup.py index 2e47bd846..63b5c9fce 100644 --- a/apps/python-sdk/setup.py +++ b/apps/python-sdk/setup.py @@ -7,7 +7,7 @@ setup( name="firecrawl-py", - version="0.0.10", + version="0.0.11", url="https://github.com/mendableai/firecrawl", author="Mendable.ai", author_email="nick@mendable.ai", @@ -23,7 +23,7 @@ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", - "License :: OSI Approved :: AGPL 3.0 License", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", @@ -46,5 +46,5 @@ "Source": "https://github.com/mendableai/firecrawl", "Tracker": "https://github.com/mendableai/firecrawl/issues", }, - license="AGPL 3.0 License", + license="GNU General Public License v3 (GPLv3)", )