From e6c914d2fa44478f34298a464b58577f33e9916b Mon Sep 17 00:00:00 2001 From: UncleCode Date: Mon, 4 Nov 2024 16:51:59 +0800 Subject: [PATCH] Refactor version management and remove deprecated gitignore.dev file --- .gitignore.dev | 190 ----------------------------------- crawl4ai/__init__.py | 4 +- crawl4ai/_version.py | 2 + crawl4ai/async_webcrawler.py | 4 +- setup.py | 2 +- 5 files changed, 8 insertions(+), 194 deletions(-) delete mode 100644 .gitignore.dev create mode 100644 crawl4ai/_version.py diff --git a/.gitignore.dev b/.gitignore.dev deleted file mode 100644 index bbd42f54..00000000 --- a/.gitignore.dev +++ /dev/null @@ -1,190 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm.fming.dev/latest/usage/project/#working-with-version-control -.pdm.toml -.pdm-python -.pdm-build/ - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ - -Crawl4AI.egg-info/ -Crawl4AI.egg-info/* -crawler_data.db -Crawl4AI.egg-info/ - -requirements0.txt -a.txt -.idea -docs/examples/.chainlit/ -docs/examples/.chainlit/* -.chainlit/config.toml -.chainlit/translations/en-US.json - -a.txt -.lambda_function.py -ec2* - -update_changelog.sh - -.DS_Store -docs/.DS_Store -test_env/ -**/.DS_Store -**/.DS_Store - -crawl4ai/models -crawl4ai/models \ No newline at end of file diff --git a/crawl4ai/__init__.py b/crawl4ai/__init__.py index b2a195de..0c6a2db4 100644 --- a/crawl4ai/__init__.py +++ b/crawl4ai/__init__.py @@ -2,8 +2,8 @@ from .async_webcrawler import AsyncWebCrawler from .models import CrawlResult - -__version__ = "0.3.72" +from ._version import __version__ +# __version__ = "0.3.73" __all__ = [ "AsyncWebCrawler", diff --git a/crawl4ai/_version.py b/crawl4ai/_version.py new file mode 100644 index 00000000..afb669ea --- /dev/null +++ b/crawl4ai/_version.py @@ -0,0 +1,2 @@ +# crawl4ai/_version.py +__version__ = "0.3.72" \ No newline at end of file diff --git a/crawl4ai/async_webcrawler.py b/crawl4ai/async_webcrawler.py index a4e90223..20f75318 100644 --- a/crawl4ai/async_webcrawler.py +++ b/crawl4ai/async_webcrawler.py @@ -16,7 +16,7 @@ from .utils import ( InvalidCSSSelectorError, format_html ) - +from ._version import __version__ as crawl4ai_version class AsyncWebCrawler: def __init__( @@ -46,6 +46,8 @@ class AsyncWebCrawler: await self.crawler_strategy.__aexit__(exc_type, exc_val, exc_tb) async def awarmup(self): + # Print a message for crawl4ai and its version + print(f"[LOG] 🚀 Crawl4AI {crawl4ai_version}") if self.verbose: print("[LOG] 🌤️ Warming up the AsyncWebCrawler") # await async_db_manager.ainit_db() diff --git a/setup.py b/setup.py index b827e6af..5e9b6de6 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ with open(os.path.join(__location__, "requirements.txt")) as f: requirements = f.read().splitlines() # Read version from __init__.py -with open("crawl4ai/__init__.py") as f: +with open("crawl4ai/_version.py") as f: for line in f: if line.startswith("__version__"): version = line.split("=")[1].strip().strip('"')