-
Notifications
You must be signed in to change notification settings - Fork 2
Improve README, fix shebang bug, update Python to 3.13, add test infrastructure #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Copilot
wants to merge
8
commits into
main
Choose a base branch
from
copilot/improve-readme-and-testing
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
5e3092c
Initial plan
Copilot 130c237
Fix shebang line and update Python version to 3.13
Copilot a77b5a5
Improve README with detailed documentation
Copilot b08e4ab
Add comprehensive testing infrastructure
Copilot b9c0e9a
Fix pytest configuration and make tests skip gracefully without depen…
Copilot ff39604
Update tests/test_integration.py
awcook97 294ffc7
Update tests/test_backseo_datahandler.py
awcook97 efbf2de
Fix test issues: use absolute paths and patch user_settings_dir
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1 @@ | ||
| 3.12 | ||
| 3.13 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| #!/usr/bin python3.12 | ||
| #!/usr/bin/env python3 | ||
| # from core import coreUI["Core"] | ||
| import multiprocessing | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,38 +1,167 @@ | ||
| # Pure Python Back SEO Agencies | ||
|
|
||
|  | ||
|
|
||
| [](https://www.python.org/downloads/) | ||
| [](https://opensource.org/licenses/MIT) | ||
|
|
||
| ## Introduction | ||
| Pure Python Back SEO Agencies is a tool designed to help SEO agencies manage and create reports for their clients using Python. Back SEO Agencies comes with 3 primary features: | ||
| - Inspecting the contents of Google Results from just 1 page (Keywords, Content length, Headers, readability, Schema, etc.) | ||
| - Auditing YOUR clients websites very quickly (1000 pages in a sitemap takes less than 5 minutes) | ||
| - Local rank gridmap reporting | ||
|
|
||
| Pure Python Back SEO Agencies is a comprehensive SEO analysis and reporting tool designed to help SEO agencies manage and create professional reports for their clients. Built entirely in Python, this tool provides powerful features for analyzing search engine results, auditing websites, and generating detailed local ranking reports. | ||
|
|
||
| ## Features | ||
|
|
||
| ### 🔍 **Google Results Inspector** | ||
| - Analyze search results from a single page | ||
| - Extract keywords, content length, headers, and readability metrics | ||
| - Identify Schema markup and structured data | ||
| - Generate detailed competitor analysis reports | ||
|
|
||
| ### 🚀 **Fast Website Auditing** | ||
| - Audit up to 1000+ pages in under 5 minutes | ||
| - Analyze sitemaps for comprehensive site coverage | ||
| - Identify technical SEO issues and optimization opportunities | ||
| - Generate actionable recommendations | ||
|
|
||
| ### 📍 **Local Rank Grid Map Reporting** | ||
| - Track local search rankings across different locations | ||
| - Visualize ranking performance on interactive maps | ||
| - Monitor competitor positions in local search | ||
| - Generate geo-targeted ranking reports | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before you can install and run this tool, ensure you have the following installed: | ||
| - Python 3.12 or later | ||
| - UV (Python package installer) | ||
|
|
||
| - **Python 3.12 or later** (Python 3.13 recommended) | ||
| - **UV** (Fast Python package installer) - [Install UV](https://github.com/astral-sh/uv) | ||
| - **Git** for cloning the repository | ||
|
|
||
| ## Installation | ||
| 1. Clone the repository: | ||
| ```bash | ||
| git clone https://github.com/awcook97/Pure-Python-Back-SEO.git | ||
| ``` | ||
| 2. Navigate to the project directory: | ||
| ```bash | ||
| cd Pure-Python-Back-SEO | ||
| ``` | ||
| 3. Install the required dependencies: | ||
| ```bash | ||
| uv venv | ||
| source .venv/bin/activate | ||
| uv pip install -r requirements.txt | ||
| playwright install firefox | ||
| ``` | ||
|
|
||
| ## Running the Application | ||
| To run the application, execute the following command: | ||
|
|
||
| ### Quick Start | ||
|
|
||
| 1. **Clone the repository:** | ||
| ```bash | ||
| git clone https://github.com/awcook97/Pure-Python-Back-SEO.git | ||
| cd Pure-Python-Back-SEO | ||
| ``` | ||
|
|
||
| 2. **Set up virtual environment and install dependencies:** | ||
| ```bash | ||
| uv venv | ||
| source .venv/bin/activate # On Windows: .venv\Scripts\activate | ||
| uv pip install -r requirements.txt | ||
| ``` | ||
|
|
||
| 3. **Install Playwright browsers:** | ||
| ```bash | ||
| playwright install firefox | ||
| ``` | ||
|
|
||
| ### Alternative Installation (using pip) | ||
|
|
||
| If you prefer using pip instead of uv: | ||
| ```bash | ||
| python -m venv .venv | ||
| source .venv/bin/activate # On Windows: .venv\Scripts\activate | ||
| pip install -r requirements.txt | ||
| playwright install firefox | ||
| ``` | ||
|
|
||
| ## Usage | ||
|
|
||
| ### Running the Main Application | ||
|
|
||
| Start the GUI application: | ||
| ```bash | ||
| python BackSEOAgencies.py | ||
| ``` | ||
|
|
||
| Go ahead, Star this repo, download it, and start playing with it. Let me know how many clients you land using this reporting software. | ||
| Or use the main entry point: | ||
| ```bash | ||
| python __main__.py | ||
| ``` | ||
|
|
||
| ### Running the Flask Web Interface | ||
|
|
||
| For web-based access: | ||
| ```bash | ||
| python FlaskApp.py | ||
| ``` | ||
|
|
||
| Then open your browser and navigate to `http://localhost:5000` | ||
|
|
||
| ## Configuration | ||
|
|
||
| The application can be configured through the `BackSEOSettings.py` file. Key settings include: | ||
|
|
||
| - **Performance settings**: CPU cores, thread count, FPS limits | ||
| - **Display settings**: Window size, theme preferences | ||
| - **Report settings**: Output formats, template selection | ||
|
|
||
| ## Testing | ||
|
|
||
| Run the test suite to ensure everything is working correctly: | ||
|
|
||
| ```bash | ||
| pytest | ||
| ``` | ||
|
|
||
| Run tests with coverage: | ||
| ```bash | ||
| pytest --cov=. --cov-report=html | ||
| ``` | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| ### Common Issues | ||
|
|
||
| **Issue: Playwright browser not found** | ||
| ```bash | ||
| # Solution: Reinstall Playwright browsers | ||
| playwright install firefox | ||
| ``` | ||
|
|
||
| **Issue: Module not found errors** | ||
| ```bash | ||
| # Solution: Ensure you're in the virtual environment and dependencies are installed | ||
| source .venv/bin/activate | ||
| uv pip install -r requirements.txt | ||
| ``` | ||
|
|
||
| **Issue: Permission denied when running on Linux/Mac** | ||
| ```bash | ||
| # Solution: Make the script executable | ||
| chmod +x BackSEOAgencies.py | ||
| ``` | ||
|
|
||
| ## Contributing | ||
|
|
||
| We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on: | ||
| - How to submit bug reports | ||
| - How to propose new features | ||
| - Development setup and workflow | ||
| - Code style guidelines | ||
|
|
||
| ## License | ||
|
|
||
| This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. | ||
|
|
||
| ## Acknowledgments | ||
|
|
||
| - Built with [DearPyGUI](https://github.com/hoffstadt/DearPyGui) for the user interface | ||
| - Powered by [Playwright](https://playwright.dev/) for web automation | ||
| - SEO analysis tools built on top of industry-standard libraries | ||
|
|
||
| ## Support | ||
|
|
||
| If you find this tool useful, please: | ||
| - ⭐ Star this repository | ||
| - 🐛 Report bugs via [GitHub Issues](https://github.com/awcook97/Pure-Python-Back-SEO/issues) | ||
| - 💡 Share your feedback and suggestions | ||
| - 📢 Spread the word about this tool | ||
|
|
||
| --- | ||
|
|
||
| **Ready to improve your SEO reporting?** Clone this repo, set it up, and start creating professional reports for your clients today! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| [pytest] | ||
| minversion = 6.0 | ||
| addopts = -ra -q --strict-markers | ||
| testpaths = tests | ||
| python_files = test_*.py | ||
| python_classes = Test* | ||
| python_functions = test_* | ||
|
|
||
| [coverage:run] | ||
| source = . | ||
| omit = | ||
| */tests/* | ||
| */venv/* | ||
| */.venv/* | ||
| */site-packages/* | ||
| setup.py | ||
|
|
||
| [coverage:report] | ||
| exclude_lines = | ||
| pragma: no cover | ||
| def __repr__ | ||
| raise AssertionError | ||
| raise NotImplementedError | ||
| if __name__ == .__main__.: | ||
| if TYPE_CHECKING: | ||
| @abstractmethod | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| """Test suite for Pure Python Back SEO Agencies.""" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.