An AI-powered automation bot built with Python to learn and master:
- 🖱️ PyAutoGUI - Computer automation
- 🌐 BeautifulSoup - Web scraping
- 🤖 Selenium - Browser automation
- 🧠 GitHub Copilot API - AI integration
Status: In Development - Learning Project
Started: 2025-12-22
This is a learning-focused project designed to:
- Master Python automation libraries
- Build a modular, extensible bot framework
- Integrate AI capabilities via GitHub Copilot API
- Practice collaborative development with Git workflows
AstroBot/
├── modules/ # Core bot modules
│ ├── pyautogui_module/ # Computer automation
│ ├── scraping_module/ # Web scraping with BeautifulSoup
│ ├── selenium_module/ # Browser automation
│ └── copilot_module/ # GitHub Copilot API integration
├── examples/ # Learning examples for each module
├── tests/ # Unit tests
├── docs/ # Documentation
├── .github/workflows/ # CI/CD workflows
├── requirements.txt # Python dependencies
└── LEARNING_PATH.md # Step-by-step learning guide
- Python 3.8 or highest 3.12 #If you have a higher Python version, e.g. 3.13 or later, please download Python 3.12 from python.org
- Git installed
- GitHub account
-
Clone the repository:
git clone https://github.com/GSWNJay/AstroBot.git cd AstroBot -
Create virtual environment:
# Create (Windows) py -3.12 -m venv venv # Create (MacOS/Linux) python3.12 -m venv venv # Activate (Windows) venv\Scripts\activate # Activate (MacOS/Linux) source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
Crypotgraphy wheel error in MacOS fix:
install openssl: brew install openssl@3 install pkg-config brew install pkg-config build system: export OPENSSL_DIR="/usr/local/opt/openssl@3" export LDFLAGS="-L/usr/local/opt/openssl@3/lib" export CPPFLAGS="-I/usr/local/opt/openssl@3/include" export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
-
Start learning! Check out
LEARNING_PATH.mdfor the structured learning roadmap.
- Project Lead: @GSWNJay
- Developers:
- Development Tools:
Machines used Linux Zorin & MacOS
IDE - VS Code
main- Protected branch (only @GSWNJay can merge)develop- Active development branchfeature/*- Feature branchesfix/*- Bug fix branches
Workflow:
- Create feature branch from
develop - Make changes and commit
- Push to GitHub
- Create Pull Request to
develop - After review, merge to
develop - @GSWNJay merges
developtomain
- Mouse control
- Keyboard automation
- Screenshot capabilities
- GUI automation basics
- HTML parsing
- Data extraction
- Navigate website structures
- Handle different HTML elements
- WebDriver setup
- Browser navigation
- Form filling
- Element interaction
- Headless browsing
- API authentication
- Request/response handling
- Integrate AI suggestions
- Build AI-powered features
- Combine all modules
- Build AstroBot core
- Error handling
- Logging system
- Task scheduling
This is a public repository in order to allow branch protection rules.
Important:
- Never commit API keys or credentials
- Use
.envfiles for sensitive data - Review
.gitignorebefore committing
MIT License
For team members:
- Always work on feature branches
- Write descriptive commit messages
- Test your code before pushing
- Create PRs for code review
- Follow Python best practices (PEP 8)
Let's build something out-worldly 🚀