Development Guide¶
This guide provides information for developers who want to contribute to the Evrmore Authentication project.
Setting Up the Development Environment¶
- Clone the repository:
git clone https://github.com/manticoretechnologies/evrmore-authentication.git
cd evrmore-authentication
- Create a virtual environment:
- Install the package in development mode:
- Install development dependencies:
Project Structure¶
evrmore-authentication/
├── evrmore_authentication/ # Main package
│ ├── __init__.py # Package initialization
│ ├── auth.py # Core authentication logic
│ ├── api.py # FastAPI endpoints
│ ├── models.py # Database models
│ ├── exceptions.py # Custom exceptions
│ └── dependencies.py # FastAPI dependencies
├── scripts/ # Utility scripts
│ ├── run_api_server.py # API server runner
│ └── run_web_demo.py # Web demo runner
├── examples/ # Example applications
├── tests/ # Test suite
├── docs/ # Documentation
└── setup.py # Package setup
Running Tests¶
Run the test suite:
Run tests with coverage:
Code Style¶
This project follows PEP 8 style guidelines. You can check your code with:
Format your code with:
Building Documentation¶
The documentation is built using MkDocs with the Material theme:
# Install MkDocs and the Material theme
pip3 install mkdocs-material
# Serve the documentation locally
mkdocs serve
# Build the documentation
mkdocs build
Release Process¶
- Update the version number in
setup.py - Update the changelog
- Create a new release on GitHub
- Build and upload the package to PyPI:
Contributing Guidelines¶
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests to ensure they pass
- Submit a pull request
Please follow these guidelines when contributing:
- Write clear, concise commit messages
- Include tests for new features
- Update documentation for any changes
- Follow the existing code style
License¶
This project is licensed under the MIT License - see the LICENSE file for details.