Skip to content

Commit

Permalink
Merge pull request #209 from sewcio543/dev/1.0.0
Browse files Browse the repository at this point in the history
Version 1.0.0
  • Loading branch information
sewcio543 authored Dec 22, 2024
2 parents d14d760 + fa5f581 commit 256e1ad
Show file tree
Hide file tree
Showing 108 changed files with 7,863 additions and 2,959 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.3.1
current_version = 1.0.0-dev0
allow_dirty = True
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+)(?P<build>\d+))?
serialize =
Expand Down
1 change: 1 addition & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ exclude_lines =
pass
\.\.\.
deprecated
_raise_not_implemented

sort = cover
show_missing = true
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/code_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ jobs:
- name: Test with coverage
run: |
python -m coverage run -m pytest
python -m coverage run -a -m pytest --impl=bs4
python -m coverage run -a -m pytest --impl=lxml
python -m coverage run -a -m pytest --impl=selenium
- name: Report coverage
run: |
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/production_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ jobs:
- name: Push changelog update
run: |
git pull
git add docs/source/changelog.md
git commit -m "Updating changelog documentation file [skip ci]"
git push origin HEAD
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@ format:
test:
python -m pytest
coverage:
python -m coverage run -m pytest
python -m coverage report
python -m coverage erase
python -m coverage run -a -m pytest --impl=bs4
python -m coverage run -a -m pytest --impl=lxml
python -m coverage run -a -m pytest --impl=selenium
python -m coverage report || true
python -m coverage html
typecheck:
python -m mypy . || true
Expand Down
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
![soupsavvy](https://github.com/sewcio543/soupsavvy/blob/main/resources/logo.png?raw=true)
========

## Powerful and flexible search engine for BeautifulSoup
## Powerful and flexible web scraping **Search Engine**

[![PyPI](https://img.shields.io/pypi/v/soupsavvy?color=orange)](https://pypi.org/project/soupsavvy/) [![Python Versions](https://img.shields.io/pypi/pyversions/soupsavvy)](https://www.python.org/) [![Codecov](https://codecov.io/gh/sewcio543/soupsavvy/graph/badge.svg?token=RZ51VS3QLB)](https://codecov.io/gh/sewcio543/soupsavvy) [![Docs link](https://img.shields.io/badge/docs-read-blue)](https://soupsavvy.readthedocs.io)

Expand All @@ -18,11 +18,17 @@

## About

**soupsavvy** is flexible search engine for [`BeautifulSoup`](https://pypi.org/project/beautifulsoup4/), designed to provide more powerful capabilities, making more complex searches simple and web scraping tasks more efficient and manageable.
With many web scraping libraries available, each with unique interfaces and conventions, `soupsavvy` provides conistent and easy way of building selection workflows.

With `soupsavvy`, developers can focus on data extraction workflows instead of wrestling with library-specific quirks and inconsistencies. Eliminate complexity and introduce scalability and maintainability to your web scraping projects.

## Key Features

`soupsavvy` introduces the concept of `Selector`, a declarative search procedure designed with simple and readable syntax. It encapsulates search logic, making it reusable across different scenarios. The package offers various types of selectors that can be easily combined to perform more complex searches.
`soupsavvy` introduces the concept of `Selector`, a declarative, consistent, and reusable search procedure that is based on following principles:

- **Decoupling**: Selection logic is abstracted away from DOM node and traversal implementations.
- **Framework-Agnostic**: Operates consistently with any supported library.
- **Flexibile & Extensibile**: Lightweight, reusable components used to build complex selection workflows.

## Installation

Expand All @@ -48,10 +54,6 @@ If you'd like to contribute to soupsavvy, feel free to check out the [GitHub rep

`soupsavvy` is licensed under ![MIT License](https://img.shields.io/badge/license-MIT-green?style=plastic), allowing for both personal and commercial use. See the `LICENSE` file for more information.

## Acknowledgements

`soupsavvy` is built upon the foundation of excellent `BeautifulSoup`. We extend our gratitude to the developers of this projects for their invaluable contributions to the Python community and making our life a lot easier!

-----------------

**Happy scraping!**
Loading

0 comments on commit 256e1ad

Please sign in to comment.