This guide will help you set up the development environment for Aegis using Python and Poetry.
Before getting started, ensure you have the following prerequisites installed:
-
Python 3.8 or higher: If you haven't installed Python yet, you can download the latest version from the official Python website. Follow the installation instructions for your operating system.
- Windows: Download the installer from the Python website and follow the installation wizard.
- macOS: Python usually comes pre-installed. You may need to update it using Homebrew or install it manually.
- Linux: Use your package manager to install Python. For example, on Ubuntu, you can use
apt:sudo apt update sudo apt install python3
-
Poetry: Poetry is a dependency management and packaging tool for Python. Install it using pip:
pip install poetry
For more detailed instructions, refer to the official Poetry documentation.
-
Clone the Repository: First, clone the
Aegisrepository to your local machine using Git:git clone https://github.com/KarthikS373/aegis.git
-
Change Directory: Navigate to the
aegisdirectory:cd aegis -
Install Dependencies: Use Poetry to install the project dependencies:
poetry install
-
Activate the Virtual Environment: Once the dependencies are installed, activate the virtual environment:
poetry shell
-
Run the Tests: To ensure everything is set up correctly, run the tests:
pytest
If everything is set up correctly, you should see all the tests passing.
-
Start Developing: You're all set! You can now start developing
Aegison your local machine.
When working on Aegis, you can use the following commands to manage the development environment:
poetry run aegis <command-name>For help on a specific command, use the
--helpflag. For example:poetry run aegis --help poetry run aegis <command-name> --help
- Read the Documentation: To learn more about
Aegis, refer to the official documentation - Examples: Explore the examples to see how
Aegiscan be used in different scenarios - Get Help: If you have any questions or need help, feel free to open an issue on the GitHub repository